当前位置: 首页 > news >正文

中英文网站是怎么做的重庆网站建设慕枫

中英文网站是怎么做的,重庆网站建设慕枫,做淘宝客网站要申请什么,社区子网站群建设场景 我们有时候会遇到这样的一个交互场景#xff1a;我们有一个UITableView 放在一个弹窗中#xff0c;这个弹窗可以通过滑动进行展示和消失#xff08;跟手滑动的方式#xff09;#xff0c;然后这个UITableView放在弹窗中#xff0c;并且可以滚动#xff0c;展示一些…场景 我们有时候会遇到这样的一个交互场景我们有一个UITableView 放在一个弹窗中这个弹窗可以通过滑动进行展示和消失跟手滑动的方式然后这个UITableView放在弹窗中并且可以滚动展示一些内容比如商品信息评论类似抖音的评论弹窗并且下滑的时候如果tableView已经滑动到了顶部就可以响应滑动手势继续向下滑动弹窗。 思路 首先我们弹窗视图中有一个tableView,这个tableView是可以正常的滑动的然后我们在弹窗视图中添加一个滑动手势手势的响应方法中修改弹窗的frame。所以这个弹窗视图是要响应手势的代理 方的并且 在 (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 代理方法中如果gestureRecognizer 是自身的滑动手势otherGestureRecognizer是tableView 的滑动手势则需要支持同时响应的即返回YES同时需要有个主意事项就是如果我们的 tableView滚动到最顶部了就需要设置tablView的滚动手势不支持响应否则的话就会导致 滚动到顶部的时候tableView还会继续滚动如果这个时候来回滑动tableView就会造成弹窗和tableView 同时滚动的情况这是我们不想要的所以我们tablView滚动到顶部的时候就需要设置tableView的pangesture.enabled NO. 双滑动手势滚动响应机制 我们给弹窗添加一个滑动手势响应方法为handlePan 通过测试我们发现我们手在tableView 上滚动的时候每次执行 tableView 的 代理方法 scrollViewDidScroll 之前都会执行 handlePan方法。 并且在一次滑动手没有脱离屏幕算同一次滑动过程中 如果响应方法 handlePan 中有设置过 self.tableView.panGestureRecognizer.enabled NO; 就会导致 本次滑动中self.tableView 不会滚动即便在self.tableView.panGestureRecognizer.enabled NO后面设置了 self.tableView.panGestureRecognizer.enabled YES也不会滚动 这说明**在一次滑动手势的响应中 self.tableView.panGestureRecognizer.enabled NO 的优先级是最高的 - (void)scrollViewDidScroll:(UIScrollView *)scrollView {NSLog(哈哈哈哈哈这里是执行scrollViewDidScroll self.panNum是%ld, self.panNum); } - (void)handlePan:(UIPanGestureRecognizer *)pan {self.tableView.panGestureRecognizer.enabled YES;NSLog(哈哈哈哈哈这是第%ld次响应滑动手势handlePan 方法, self.panNum);if (self.panNum % 2 0) {self.tableView.panGestureRecognizer.enabled NO;} else {self.tableView.panGestureRecognizer.enabled YES;}self.tableView.panGestureRecognizer.enabled YES; }以上测试的完整代码 // // LBPangestureController.m // TEXT // // Created by mac on 2024/7/7. // Copyright © 2024 刘博. All rights reserved. //#import LBPangestureController.hinterface LBPangestureController () UITableViewDelegate, UITableViewDataSource, UIGestureRecognizerDelegateproperty (nonatomic, strong) UITableView *tableView;property (nonatomic, strong) UIPanGestureRecognizer *pangesture;property (nonatomic, assign) NSInteger panNum;endimplementation LBPangestureController- (void)viewDidLoad {[super viewDidLoad];[self.view addSubview:self.tableView];[self.view addGestureRecognizer:self.pangesture];// Do any additional setup after loading the view. }- (void)handlePan:(UIPanGestureRecognizer *)pan {self.tableView.panGestureRecognizer.enabled YES;NSLog(哈哈哈哈哈这是第%ld次响应滑动手势handlePan 方法, self.panNum);if (self.panNum % 2 0) {self.tableView.panGestureRecognizer.enabled NO;} else {self.tableView.panGestureRecognizer.enabled YES;}self.tableView.panGestureRecognizer.enabled YES; }#pragma mark - UITableViewDelegate, UITableViewDataSource- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {UITableViewCell *cell [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([UITableViewCell class])];cell.textLabel.text [NSString stringWithFormat:%ld, indexPath.row];return cell; }- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {return 100; }- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {return 60; }#pragma mark - uiscrollViewdelegate- (void)scrollViewDidScroll:(UIScrollView *)scrollView {NSLog(哈哈哈哈哈这里是执行scrollViewDidScroll self.panNum是%ld, self.panNum); }#pragma mark - gesturedelegate- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {if (gestureRecognizer self.pangesture) {self.panNum ;}return YES; }- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {if (gestureRecognizer self.pangesture otherGestureRecognizer self.tableView.panGestureRecognizer) {return YES;}return NO; }#pragma mark - lazy load- (UITableView *)tableView {if (!_tableView) {_tableView [[UITableView alloc] initWithFrame:CGRectMake(0, 100, 300, 400) style:UITableViewStylePlain];[_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:NSStringFromClass([UITableViewCell class])];_tableView.delegate self;_tableView.dataSource self;_tableView.backgroundColor [UIColor cyanColor];}return _tableView; }- (UIPanGestureRecognizer *)pangesture {if (!_pangesture) {_pangesture [[UIPanGestureRecognizer alloc] initWithTarget:self action:selector(handlePan:)];_pangesture.delegate self;}return _pangesture; }/* #pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {// Get the new view controller using [segue destinationViewController].// Pass the selected object to the new view controller. } */end
http://www.dnsts.com.cn/news/254022.html

相关文章:

  • 龙华区深圳北站.net网站开发实训体会
  • 公司网站设计用什么聊城市住房和城乡建设局网站首页
  • 东莞网站推广流程做营销网站应该要注意些什么
  • 网站程序结构网站域名com和cn
  • 网站设置字体样式南京品牌网站开发模板
  • php网站开发主要内容网页设计教程教学目的
  • 在合肥哪里学网站建设洛阳 网站建设公司哪家好
  • 制作 网站 盈利一级a做爰片软件网站
  • 网站建设与维护的论述题二级域名大全
  • 河南住房城乡建设部网站wordpress 速度
  • 大庆做网站网站维护方式
  • seo网站外包南京原创网站建设怎么联系
  • 网站标题 关键字怎么设置代码网站后台页面模板下载
  • 模板网站修改教程视频网站建设潍坊
  • 网站建设与推广话术网站交互式体验
  • jsp网站开发答辩石家庄房产备案查询网
  • 网网站建设站建设制作网站公司谁家好
  • 吴忠门户网站建设北京手机建站模板
  • diy手工制作网站工业设计产品效果图
  • 在线制作网页网站网站首页导航栏
  • 课程网站建设课程网站的服务器
  • 蓬莱网站建设价格网站建设简图
  • 建站工具 wordpress苏州h5网站建设价钱
  • 网站建设思路梳理微信引流推广网站建设
  • 上海巨型网站建设电子商务网站建设策划书 服装 有详细数据库设计
  • 做网站是用c 吗个人网站做哪一种比较赚钱
  • 庆阳网站设计服务高端企业网站开发
  • 商业网站案例教程营销型网站建设测验题
  • 网站+做+app用html做网站顺序
  • 中国观鸟记录的网站架构公司建网站的详细步骤