iOS,关于真机tableViewCell上面button响应事件,不同版本崩溃问题解决
来源:互联网 发布:淘宝宝贝评价没有了 编辑:程序博客网 时间:2024/05/01 10:01
在自定义cell的时候,在cell上添加了一个button,然后在controller中调用这个button的时候要获取到cell
在iOS6中直接button.superView就可以
但是iOS7中不行。。。
上网查发现iOS7第一次的superview只能取到cell的content view也就说得取两次
但是结果发现还是不行,取两次竟然才取到cell的contentview层
不得已取三次superview实现
但是更新iOS8之后的调用发现崩溃···
检查发现三次取superview竟然取多了,到tableview层上了。。。
也就是说iOS8就是得取两次
·········
总之6取一次superview就行
7取三次superview
8取两次superview
建议使用 代理的方式 直接 找到cell的model 或者通过tag值的方式
cell添加button后通过button获取到cell
个人不喜欢用tag值的方法,再去写代理的话显得麻烦,然后偶然自己搜到一个简单的方法,与大家分享.
[cell.btn addTarget:self action:@selector(cellBtnClicked:event:) forControlEvents:UIControlEventTouchUpInside];
首先在方法后面添加一个事件event:
然后通过事件响应找到当前的indexPath
- (void)cellBtnClicked:(id)sender event:(id)event
{ NSSet *touches =[event allTouches];
UITouch *touch =[touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:_tableView];
NSIndexPath *indexPath= [_tableView indexPathForRowAtPoint:currentTouchPosition];
if (indexPath!= nil)
{
// do something
}
}
总结一下:tableViewCell的 indexPath很神奇
1 0
- iOS,关于真机tableViewCell上面button响应事件,不同版本崩溃问题解决
- iOS代理实现tableViewCell中的button在viewController中响应
- 关于Button响应获取焦点事件
- tableViewCell只有一个button无响应
- Winform不同窗口的Button响应同一个点击事件
- 关于tableViewCell截取子TableViewCell事件处理
- iOS Button防误触崩溃
- button 不响应事件
- ios 动画中如何正确响应button的各种事件
- ios button超出父视图如何响应事件
- 关于Button点击两次才响应事件相关问题
- iOS真机调试一天后崩溃
- 不同情况下,分别获取tableviewcell上面的子控件
- IOS 学习笔记 Button引发不同UIAlertView 事件
- 关于cell上button点击事件如何传到不同界面
- tableviewcell 上添加的button的响应方法
- ios7 tableviewcell上面有button,但是button的点击效果没有
- 关于把button加到UIImageView上后button无法响应单击事件的方法
- PMI-ACP敏捷认证:敏捷开发的6个实战经验
- Spring+MyBatis多数据源配置实现
- HDU 1323 Perfection (水题)
- 2015-0909-osg学习历程8
- mysql远程连接 Host * is not allowed to connect to this MySQL server问题解决方法
- iOS,关于真机tableViewCell上面button响应事件,不同版本崩溃问题解决
- Thrift学习笔记
- Linux初学者的简易脚本----自动配IP
- .net后台输出js关闭当前浏览器窗口
- linux多线程学习
- iOS GCD同步队列和同步任务 堵塞和死锁
- [leetcode-214]Shortest Palindrome(java)
- Gallery与ImageSwitcher的图片显示
- Mysql分表的三种方法