zoukankan      html  css  js  c++  java
  • 关于UITableView的一些老是忘记的小杂碎

    1:如何取消单元格的选中状态

      简简单单的一句

      [TableView deselectRowAtIndexPath:[TableView indexPathForSelectedRow] animated:YES];解决。

    2:通知撤销

          通知中心不会保留(retain)监听器对象,在通知中心注册过的对象,必须在该对象释放前取消注册。否则,当相应的通知再次出现时,通知中心仍然会向该监听器发送消息。因为相应的监听器对象已经被释放了,所以可能会导致应用崩溃

    //通知中心提供了相应的方法来取消注册监听器
    - (void)removeObserver:(id)observer;
    - (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject;
    
    //一般在监听器销毁之前取消注册(如在监听器中加入下列代码):
    - (void)dealloc {
        //[super dealloc];  非ARC中需要调用此句
        [[NSNotificationCenter defaultCenter] removeObserver:self];
    }

    3.slider

    [slider setThumbImage:[UIImage imageNamed:@"sc_sliderBtn"] forState:UIControlStateNormal];

    自定义滑块的大小--需要重写父类的下方法:

    -(CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value {

    rect.origin.x=rect.origin.x-10;

    rect.size.width=rect.size.width+20;
    return CGRectInset([super thumbRectForBounds:bounds trackRect:rect value:value],10,10);
    }

    接下来是滑动时覆盖的图或者颜色设置:

    UIImage *image = [[UIImage imageNamed:@"sc_slider"] resizableImageWithCapInsets:UIEdgeInsetsZero];//图片模式,不设置的话会被压缩

    [slider setMinimumTrackImage:image forState:UIControlStateNormal];//设置图片
    //[slider setMinimumTrackTintColor:[UIColor redColor]];//设置颜色

    然后是未覆盖的图或颜色设置:

    UIImage *image2 = [[UIImage imageNamed:@"sc_slider2"] resizableImageWithCapInsets:UIEdgeInsetsZero];//图片模式,不设置的话会被压缩

    [slider setMaximumTrackImage:image2 forState:UIControlStateNormal];//设置图片

    //[slider setMaximumTrackTintColor:[UIColor lightGrayColor]];//颜色设置

     

    4.删除单元格

     

    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{

        

    }

    // 自定义左滑显示编辑按钮

    -(NSArray<UITableViewRowAction*>*)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath

    {

        

        UITableViewRowAction * rowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:NSLocalizedString(@"删除", nil) handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {

            

            NSLog(@"删除第%d行",indexPath.row);

            

        }];

        

        rowAction.backgroundColor = rgb(0xf1, 0xf1, 0xf1);//改变背景色

        [[UIButton appearanceWhenContainedInInstancesOfClasses:@[[ShuSheCollectViewController class]]] setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

        NSArray *arr = @[rowAction];

        return arr;

    }

  • 相关阅读:
    Java知识15 Number&Math类【多测师】
    python callable()方法实例
    高级super实例
    高级any、for组合用法
    python 字典update、setdefault、pop方法案例
    一个经典的python字典生成式案例
    一个发挥到极致的yield案例
    python map使用
    Python yield详解
    django __path__使用
  • 原文地址:https://www.cnblogs.com/danMing-love/p/6401228.html
Copyright © 2011-2022 走看看