码迷,mamicode.com
首页 > 其他好文 > 详细

UITableView设置cell为不可选?

时间:2014-07-09 19:18:39      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   strong   

本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术。本文将为读者讲解UITableView如何设置单元格属性为不可选?

问题:

Mugunth

怎样才能设置UITableView的单元格属性为不可选择。我不想看到用户选择单元格时显示蓝色选择区域。

答案:

Daniel Dickison

把表格单元格selectionStyle的属性设置为UITableViewCellSelectionStyleNone.

那会避免单元格高亮,也可以在tableView:didSelectRowAtIndexPath:里检查属性。

Sebastian Celis

为了彻底避免UITableViewCell选择,让UITableViewDelegate实现tableView:willSelectRowAtIndexPath:。如果你不希望选中行,从那个函数可以返回nil

- (NSIndexPath *)tableView:(UITableView *)tv willSelectRowAtIndexPath:(NSIndexPath *)path
{
    //根据 NSIndexPath判定行是否可选。
 
    if (rowIsSelectable)
    {
        return path;
    }
 
    return nil;
}

hanumanDev

用这个:

1
cell.selectionStyle = UITableViewCellSelectionStyleNone;

JOM

我也遇到过这个问题,几乎试了所有提到的方法。摆脱选择单元格时出现蓝色显示的绝招是加上下面这一行:

1
self.myTableView.allowsSelection = NO;

不清楚是这一行,还是结合所有东西才实现的,但是总体来看蓝色的显示不会再出现了,哈哈!

zekel

另一种方法是在UITableViewCell添加几个分类函数。相对于Sebastians的回答(虽然也很棒),我更喜欢这个。因为我在建立我自己的表格,这或许对某些人有帮助。

- (void)setSelectable:(BOOL)enabled {
    [self setSelectionStyle:UITableViewCellSelectionStyleNone];
    [self setUserInteractionEnabled:enabled];
}
 
- (BOOL)isSelectable {
    BOOL disabled = [self selectionStyle]==UITableViewCellSelectionStyleNone &&
                     [self isUserInteractionEnabled];
    return ! disabled;
}

Rob Bonner

设置cell.userinteractionenabled= FALSE;

ryanday

苹果说在didSelectRowAtIndexPath里首先要做的是取消选择的行。

1
[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:NO];

然后可以修改AccessoryType为复选标记,或者什么都不是。所以当你进入idSelectRowAtIndexPath你可以取消选择行,但是如果不是为了被选中,那就不需要检查。

Table View Programming Guide

Jay

如果你在界面生成器里设计了单元格,你可以通过‘User Interaction Enabled‘ 为 tableViewCell去除复选框做到这一点。

原文链接:UITableView Setting some cells as “unselectable”

文章选自StackOverFlow社区,鉴于其内容对于开发者有所帮助,现将文章翻译于此,供大家参考及学习。9Tech将每日持续更新,读者可点击StackOverflow(简称:SOF)精选问答汇总,查看全部译文内容。同时,我们也招募志同道合的技术朋友共同翻译,造福大家!报名请发邮件至zhangqi_wj#cyou-inc.com。(#换成@

 

http://ios.9tech.cn/news/2013/1129/38980.html

UITableView设置cell为不可选?,布布扣,bubuko.com

UITableView设置cell为不可选?

标签:des   style   blog   http   color   strong   

原文地址:http://www.cnblogs.com/savagemorgan/p/3831613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!