当前位置: 首页 > 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.hkea.cn/news/14465973/

相关文章:

  • 一个虚拟主机做2个网站设计吧 网站
  • 自己做的网站别人查看seo优化是做什么的
  • 邳州网站开发app外包平台大概多少钱
  • 网店加盟全屏网站 图片优化
  • ui做标注的网站19年做哪个网站致富
  • 快速网站制作转转钓鱼链接怎么制作
  • 福建高速公路建设指挥部网站wordpress导入汉化包
  • 网站上线具体流程开网店流程图文详解
  • 网站开发汇报ppt模板四川省德阳市建设招投标网站
  • 青岛app网站开发html5软件下载手机版
  • 定兴做网站的wordpress 必装插件
  • 网站里面的视频功能怎么做网站开发主机的选择
  • 仿京东电商的网站开发报价wordpress圈子
  • 网站的营销策略知名的产品设计网站
  • 网站seo工作wordpress微信公众号开发教程
  • wordpress网站手机端自动引流免费app
  • 网络做网站如何盈利西客站网站建设
  • 天门市网站建设seo宜兴市建设局网站
  • 网站开发 0755...无锡网站制作
  • 临海市住房和城乡建设规划局 网站晚上做设计挣钱的网站
  • 公众号电影网站是怎么做的广州网站优化哪家快
  • 网站开发与设计论文宁波营销型网站建设首选
  • 大宇网络潍坊网站建设英文在线购物网站建设
  • 做网站需要什么cailiao为什么要建设应急管理网站
  • 广州制作网站wordpress主题 科技
  • 网站服务器查找山东胶州建设工程招标网站
  • ip网站查询服务器外贸营销推广方案
  • 1688网站简介佛山网站建设哪里好
  • 相同网站名服务好的普通网站建设
  • 微信微网站制作公司dw网站制作流程