首页 > 代码库 > iOS开发 日常错误积累
iOS开发 日常错误积累
1、ios7 tableviewcell上面添加一个view,view上面有button,点击button不执行button的点击事件
解决办法:
self.view.userInteractionEnabled = YES;
[cell.contentView addSubview:self.view]
主要问题是cell的高度没有view本事的高度高,造成view没有完全在cell上,所以点击事件执行不了。
2、ios7 tableviewcell上面有button,但是button的点击效果没有,只有长按才能出现背景图
解决办法:转http://blog.csdn.net/zs449350247/article/details/21606973
一.IOS6的UITableViewCell 子视图(subviews)的容器是UITableViewCellContentView
IOS7的UITableViewCell 子视图(subviews)的容器是UITableViewCellScrollView
由于IOS7中添加了滑动后出现编辑按钮的操作,所以使用scrollView来处理,UITableViewCellScrollView有对触摸的相应处理,导致按钮的点击效果被屏蔽了,但是点击事件还是在的,所以可以通过在
1.设置tableView.delaysContentTouches = NO;
2.同时在(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath代理方法中对scrollview把延迟触摸设置为NO即可
for (id obj in cell.subviews)
{
if ([NSStringFromClass([obj class])isEqualToString:@"UITableViewCellScrollView"])
{
UIScrollView *scroll = (UIScrollView *) obj;
scroll.delaysContentTouches =NO;
break;
}
}