我有一个像这样的自定义UITableViewCell:
+--------------------------+
| username |
| |
| --- <image> -- |
| |
| <like it> |
+--------------------------+
它会显示一个用户名,一个图像和一个“喜欢它”的按钮来表示图像。 我不希望整个单元格是可选择的,我希望用户可以点击“用户名”来查看显示用户名信息的新视图。对于图像来说,当用户点击图像时,他可以在新视图中看到图像。
现在我只能选择我的整个细胞。我该如何实现这样的东西?
感谢。
当您点击用户名时,您会看到用户信息的视图。整个单元格不可选。
答案 0 :(得分:1)
1)您将cell selectionstyle保持为none,不在didSelectRowAtIndexPath方法中实现任何内容。
2)使用三个单独的按钮来表示名称,图像等(因为您可以通过单击按钮获取事件)。并且在已注册的按钮方法中导航到其对应的视图。
答案 1 :(得分:0)
-(void)buttonClicked:(id)sender{
UIButton *currentButton = (UIButton*)sender;
if(currentButton==imageButton)
{
//navigate to image detail;
{
else if(currentButton==nameButton)
{
//navigate to user detail;
}
else if(currentButton==likeButton)
{
//implement code for like button;
}
}
答案 2 :(得分:0)
以一种使用setEntry:(MyEntryType*)entry
之类的方法填充内容的方式编写您的单元格类,以便它能记住该条目。还为它提供自定义协议的委托属性。单元格将其中每个按钮的目标设置为自身,例如[nameButton addTarget:self selector:@selector(namePressed:)...]
,[likeButton addTarget:self selector:@selector(likePressed:)...]
。因此,如果用户按下例如类似按钮,则相应的单元被通知并用[delegate entryLiked:theCellEntry]
调用其委托。我希望你明白这一点。