我在一个单元格中添加了uibutton。我希望按下此按钮并与用户进行交互。我在单元实现类中添加了这行代码。
readMore = [[UIButton alloc]initWithFrame: CGRectMake(180, 50, 67, 25)];
[readMore addTarget:self action:@selector(readMoreClic:) forControlEvents:UIControlEventTouchUpInside];
[readMore setImage:[UIImage imageNamed:@"readmore.png"] forState:UIControlStateNormal];
[self addSubview:readMore];
问题是没有点击它(选择单元格后它总是处于高亮状态)。我试过了: -
1- [self setSelectionStyle:UITableViewCellSelectionStyleNone];
2- cell.userInteractionEnabled = NO
但我仍然选择了单元格,并以蓝色突出显示并且未单击按钮。即使我选择了
[self setSelectionStyle:UITableViewCellSelectionStyleGray]
有些人帮助PLZ
THX
[注意我在同一个单元格中有一个textView,它允许交互(选择和复制)] [我在iOS 4.3中使用xcode 4]
答案 0 :(得分:1)
尝试不同的控制事件?:
[readMore addTarget:self action:@selector(readMoreClic:) forControlEvents:UIControlEventTouchDown];
答案 1 :(得分:0)
CGRect reuseableRect = CGRectMake(20, 290, 260, 37);
self.actionButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
self.actionButton.frame = reuseableRect;
[self.actionButton setTitle:@"Initialize" forState:UIControlStateNormal];
[self.actionButton addTarget:nil action:@selector(performAction) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:self.actionButton];
实际上,我这样做了:
self.actionButton = [[UIButton alloc] initWithFrame:reuseableRect];
但它不起作用。所以我把它改成了
self.actionButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
resueableRect只是我在视图初始化时使用过的CGRect。
对于之前解决方案的三行,第一行:
[self setSelectionStyle:UITableViewCellSelectionStyleNone];
它正在对tableView及其单元格进行一些配置,因此它不会影响按钮
第二个:
cell.userInteractionEnabled = NO;
它也没有配置按钮,更重要的是,由于单元格是按钮的超级视图,因此该行可以防止任何用户交互。
第三个也没有对按钮做任何事情,所以如果您考虑配置按钮,我建议您删除所有按钮
答案 2 :(得分:-1)
您无需对选择样式或userInteractionEnabled
执行任何操作。确保readMoreClic:
看起来像:
-(void)readMoreClic:(id)sender
{
}