zoukankan      html  css  js  c++  java
  • UITableView的分组 快速索引

    当UITableView的分组较多的时候,经常会用到快速索引。

    //设置Section的Header的值 
    - (NSString *)tableView:(UITableView *)tableView 
     
    titleForHeaderInSection:(NSInteger)section { 
         
        NSString *key = [indexArray objectAtIndex:section]; 
         
        return key; 
         
    } 
     
    #pragma mark - 
     
    #pragma mark Table View Data Source Methods 
     
    //设置表格的索引数组 
    -(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 
    { 
        return self.indexArray; 
    } 
    

    更改索引的背景颜色:

    NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR

    self.tableView.sectionIndexBackgroundColor = [UIColor clearColor]; 
    

    更改索引的文字颜色:

    self.tableView.sectionIndexColor = [UIColor blueColor];



    默认的快速索引是不允许设置的,但是还是有些牛人找到了Apple隐藏的接口
    - (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    //设置导航字体颜色、字体、背景色
    for (UIView* subview in [self.tableView subviews])
    {
    if ([subview isKindOfClass:NSClassFromString(@'UITableViewIndex')])
    {
    if([subview respondsToSelector:@selector(setIndexColor:)])
    {
    [subview performSelector:@selector(setIndexColor:) withObject:[UIColor redColor]];
    }
    if([subview respondsToSelector:@selector(setFont:)])
    {
    [subview performSelector:@selector(setFont:) withObject:[UIColor redColor]];
    }
    if([subview respondsToSelector:@selector(setBackgroundColor:)])
    {
    [subview performSelector:@selector(setBackgroundColor:) withObject:[UIColor redColor]];
    }
    }
    }
    也有人把这段代码写到- (void)viewDidAppear:(BOOL)animated;中,不过关系不大。重点是这三个接口很有可能会发生变化,所以用的时候最好还是调试一下。

  • 相关阅读:
    通达信自动交易软件 z
    keybd_event跟SendMessage,PostMessage模拟键盘消息的区别 z
    55人班37人进清华北大的金牌教师之32条教育建言! z
    SafeHandle和Dispose z
    Path类型的扩展方法 z
    BinaryReader和BinaryWriter的leaveOpen参数 z
    SQL locate()函数
    MySQL 的instr函数
    新建实体的字段不能够是数据库的关键字
    JS isNaN()函数
  • 原文地址:https://www.cnblogs.com/KingQiangzi/p/3722751.html
Copyright © 2011-2022 走看看