您的位置:首页 > 移动开发 > IOS开发

ios 问题记录篇(1)

2017-12-09 18:22 211 查看

ios 最近遇到的问题记录

关于View的类名设置

可下拉扩展的cell

View 添加手势不响应

关于第一点,view可以分为自定义的View 和有ViewController的View,Viewcontroller的xib文件中一般是在FilesOwner设置属于的Class



自定义的View,由于是自己添加的xib文件,需要将xib和创建的文件连接,需要将创建的xib的contentView的class修改为需要连接的自定义的view的文件,(比如Myview)

,在调用自定义的View的时候,只需要调用

[[[NSBundle mainBundle] loadNibNamed:@”myview” owner:self options:nil] lastObject];就可以实现Myview的初始化。

第二个问题,可下拉展示的cell我是用整个一个View放在cell里面,刚开始隐藏,点击展开按钮,cell的高度发生变化,然后设置model.isExpand =YES;

点击隐藏,修改model.isExpand = NO;最后的操作就是没点击一次展开或者收起的按钮,都需要[self.tableview reloadData];

暂时没有想到更好的方案,由于每次都需要刷新整个列表,所以很耗费资源。

第三个问题 要是遇到类似的问题,检查addGestureRecognizer的View是否设置了可交互

cell.itemView.userInteractionEnabled=YES;
cell.itemView.tag = indexPath.row;
DDLogVerbose(@"第%d个cell", cell.itemView.tag)
UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(resetClock:)];

[cell.itemView addGestureRecognizer:tap1];
 //这个可以加到任何控件上,比如你只想响应WebView,我正好填满整个屏幕
tap1.delegate = self;
tap1.cancelsTouchesInView = NO;


还有就是希望添加手势的view的button的点击事件不要被整个view的点击事件拦截,需要实现一个代理方法


(BOOL)gestureRecognizer:(UIGestureRecognizer )gestureRecognizer shouldReceiveTouch:(UITouch )touch{

if ([touch.view isKindOfClass:[UIButton class]]) {

//放过button点击拦截

return NO;

}else{

return YES;

}

}

就这么几个问题记录一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios class 手势