关闭

UItableViewCell一些实用细节与技巧

标签: uitableviewcell
279人阅读 评论(0) 收藏 举报
分类:

1.加上这句代码就没有一直选中状态了,只在点击时有个状态

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

2.UITableViewCell可以选择但无选择状态

cell.selectionStyle = UITableViewCellSelectionStyleNone;

状态有以下几种
typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {
    UITableViewCellSelectionStyleNone,
    UITableViewCellSelectionStyleBlue,
    UITableViewCellSelectionStyleGray,
    UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0)
};

3.UITableViewCell设为不可选中(会影响一些设置)

cell.userInteractionEnabled = NO;

4.UITableViewCell设成选中状态

[tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section] animated:NO scrollPosition:UITableViewScrollPositionNone];

5.UITableViewCell在右侧添加Switch(开关)

可以自己先定义一个开关,然后直接加到cell的accessoryView上即可

-(UISwitch *)blockSwitch
{
    if (_blockSwitch == nil) {
        _blockSwitch = [[UISwitch alloc]init];
        _blockSwitch.onTintColor = RGBCOLOR(63, 125, 194);
        [_blockSwitch addTarget:self action:@selector(blockSwitchChanged:) forControlEvents:UIControlEventValueChanged];
return _blockSwitch;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
......省略
cell.textLabel.text =  @"消息免打扰";
cell.accessoryView = self.blockSwitch; //switch
}

6.Cell的下划线

cell下划线默认左侧有一段空白,想改变下划线可以用下面代码

//在viewDidLoad中 
-(void)viewDidLoad
{
if ([mTableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [mTableView setSeparatorInset:UIEdgeInsetsZero];
    }
    if ([mTableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [mTableView setLayoutMargins:UIEdgeInsetsZero];
    }
 }

//在tableView的代理方法中
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
  if(indexPath.row==5){
            if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
                [cell setSeparatorInset:UIEdgeInsetsZero];
            }
            if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
                [cell setLayoutMargins:UIEdgeInsetsZero];
            }
        }else{
            if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
                [cell setSeparatorInset:UIEdgeInsetsMake(0,10,0,0)];
            }
            if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
                [cell setLayoutMargins:UIEdgeInsetsMake(0,10,0,0)];
            }}
    }
//这样第row == 5的cell里线就顶到头了

7.在常规布局情况下,cell的宽高固定为(320,44)

在cell里面重写setFrame

//处理宽高不跟随设置的问题
- (void)setFrame:(CGRect)frame
{
    frame.size = CGSizeMake(LH_ScreenWidth, 75);
    [super setFrame:frame];
}
0
0
查看评论

HTTP协议细节

一】客服端  -->  服务端        1》结构            a)请求行    ...
  • u012986057
  • u012986057
  • 2016-01-23 16:42
  • 327

strcpy函数细节

char * strcpy(char *dest,char *sour);c  = strcpy(a,b)a只能是空间足够大的字符串数据对象,比如说数组。a的空间不够大,将导致越界,不产生异常,但修改相临存储区的内容。b可以是指向字符串的指针或字符串数组,也可以是字符串常量。c可以是指向字...
  • strayer555
  • strayer555
  • 2006-12-10 15:31
  • 382

Eclipse日常中最实用的技巧,不看后悔哦!

1、给Eclipse添加更方便的提示功能: 首先,默认情况下,Eclipse默认是通过一个.来进行提示的,这样做有些不太方便,如果随便写一个字母就有对应的提示,可以做如下操作: Windows--perferences--java--editor--content assist , 出现如下所示的界...
  • weiguolong0306
  • weiguolong0306
  • 2015-10-29 21:42
  • 5018

eclipse实用技巧(整理)

读代码 快捷键 作用 tag F2 当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip F3 跳转到定义处 F12 激活编辑器 CTRL + e/pg dn/pg up 快速转换T...
  • mishifangxiangdefeng
  • mishifangxiangdefeng
  • 2016-11-30 08:55
  • 375

优雅的使用MacBook(一些小技巧,你不会知道的)

整理了一些MacBook使用过程中发现的吊炸天的小技巧,我不太相信你都知道。1.command+delete快速删除文件。妈妈再也不用担心我用右键->删除这么low的技能了!2.shift+option+vol-down微调声音。少一格太小,大一格太大。就没有中间的大小吗你妹的!3.fn+de...
  • args_
  • args_
  • 2016-04-18 21:02
  • 3077

简单批处理小技巧

上网为了安全总是要重复的键入DOS命令netstat看看是否有可疑的的IP活动在自己的计算机网络上。这样重复的操作有些浪费时间,查看起来还很不方便,并且不能作为参考记录,对历史性质的问题又没有依据可循。这样连用其他的命令显得又很拙劣。对于这个问题,我做了个很简单的批处理,也比较实用:建议自己的电脑在...
  • KDJFIELSJF
  • KDJFIELSJF
  • 2011-06-19 20:06
  • 178

界面设计的基本技巧

最好的程序界面就是用户无需去阅读*作手册就知道该如何使用的界面。  原则 1.一致性    如果你可以在一个列表的项目上双击后能够弹出对话框,那么应该在任何列表中双击都能弹出对话框。要有统一的字体写号、统一的色调、统一的提示用词、窗口在统一...
  • wangchinaking
  • wangchinaking
  • 2005-03-16 17:20
  • 2353

switch 使用使用小技巧

for (int i=0;i<100;i++) { switch (i) { case 1 ... 10: NSLog(@"case 1 ... 10: = %d",i); break; ...
  • meegomeego
  • meegomeego
  • 2014-03-11 14:57
  • 831

[免费]程序员辅助工具

http://download.csdn.net/source/196214热键为*号
  • lovingkiss
  • lovingkiss
  • 2007-06-18 11:14
  • 1232

ctags 的一些实用细节!!

原文地址: ctags 在使用vim编程和浏览代码是非常有用。可以用CTRL+]和CTRL+t 来回跳转关键字(peakflys注:在有些环境下CTRL+] 快捷键不出现同名跳转列表,而是直接跳转到查找到的第一条记录,此时可以使用g+]代替  ) 。 先生成自己...
  • u011208567
  • u011208567
  • 2014-05-06 17:13
  • 416
    个人资料
    • 访问:152974次
    • 积分:2736
    • 等级:
    • 排名:第15538名
    • 原创:128篇
    • 转载:1篇
    • 译文:0篇
    • 评论:8条
    最新评论