我有一个UITableView透明的backgroundColor,里面的单元格用以下代码初始化
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, CGRectGetWidth(self.contentView.frame), 180)];
self.label.autoresizingMask = UIViewAutoresizingFlexibleWidth;
self.label.text = @"test";
[self.contentView addSubview:self.label];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
每行的高度为200,标签不会填满整个单元格.每个单元格之间将有透明部分.当我尝试通过触摸那些透明部分来滚动表格时,触摸完全被忽略.我知道,从iOS5开始,对视图的触摸将被忽略.我该怎么做才能解决这个问题?
我尝试过的东西不起作用:
设置透明或隐藏或alpha = 0 UIView作为tableView的假背景
相同的交易,触摸被忽略.
UIView在tableView上创建子类,子类UIView使用tableView作为nextResponder
显然UITableView不使用touchesBegan/cancelled/ends/moved,所以这不起作用.我不认为实现我的滚动方法是明智的UITableView.
将tableView的backgroundColor设置为 [UIColor colorWithRed:0 green:0 blue:0 alpha:0.1]
我不想这样做,它仍然可见.
简而言之,即使我从透明部分开始滚动,我还能做什么来滚动表?