所以我有一个列出数据的子类 UITableView 。我只需要选择一个单元格。
- (NSIndexPath *)tableViewUITableView *)tableView willSelectRowAtIndexPathNSIndexPath *)indexPath {
// rows in section 0 should not be selectable
UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
if (indexPath.row == 3) {
cell.userInteractionEnabled = YES;
cell.selectionStyle = UITableViewCellSelectionStyleGray;
NSLog(@"Hey whats up, address");
return indexPath;
}
else {
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
return nil;
}
- (void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
到目前为止,我执行此操作的代码有效,但仅在单击单元格至少一次之后。将其放在 didSelectCell 中,如果按住 1-2 秒,则可以选择单元格。
Best Answer-推荐答案 strong>
您应该在 cellForRowAtIndexPath 中执行此操作。像这样:
-(UITableViewCell*)tableViewUITableView *)aTableView cellForRowAtIndexPathNSIndexPath *)indexPath{
// your code
if(indexPath.row != 3)
{
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
{
}
然后在didSelectRowAtIndexPath :
- (void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath{
if(indexPath.row == 3)
{
//do your stuff
{
}
关于ios - 只能点击 UITableView 中的一项,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/11150993/
|