zoukankan      html  css  js  c++  java
  • 规范之UITableViewCell

    1,首先创建 UITableViewCell 为项目所有cell的父类

    重写方法

    - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;

    UIScrollView的工作原理

    当手指touch的时候,UIScrollView会拦截Event,会等待一段时间,在这段时间内,如果没有手指没有移动,当时间结束时,UIScrollView会发送tracking events到子视图上。在时间结束前,手指发生了移动,那么UIScrollView就会进行移动,从而取消发送tracking。

    那么,UIScrollView的子类想要接受touch事件,就是用户点击UIScrollView上的视图时,要先处理视图上的touch,而不发生滚动。这时候就需要UIScrollView的子类重载touchesShouldBegin:withEvent:inContentView: ,从而决定自己是否接受子视图中的touch事件。

    delaysContentTouches

    从你的手指touch屏幕开始,scrollView开始一个timer,如果:

    1.  150ms内如果你的手指没有任何动作,消息就会传给subView。

    2.  150ms内手指有明显的滑动(一个swipe动作),scrollView就会滚动,消息不会传给subView,这里就是产生问题二的原因。

    3. 150ms内手指没有滑动,scrollView将消息传给subView,但是之后手指开始滑动,scrollView传送touchesCancelled消息给subView,然后开始滚动。

    观察下tableView的情况,你先按住一个cell,cell开始高亮,手不要放开,开始滑动,tableView开始滚动,高亮取消。

    delaysContentTouches的作用:

    这个标志默认是YES,使用上面的150ms的timer,如果设置为NO,touch事件立即传递给subView,不会有150ms的等待。

    cancelsTouches的作用:

    这个标准默认为YES,如果设置为NO,这消息一旦传递给subView,这scroll事件不会再发生。

    把一些常设置的属性写进去

    - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {

        self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    //遍历所有的子view

        for (UIView *view in self.subviews) {

            if([view isKindOfClass:[UIScrollView class]]) {//判断是否是UIScrollView

                //控制视图是否延时调用开始滚动的方法

                ((UIScrollView *)view).delaysContentTouches = NO; // Remove touch delay for iOS 7

                break;

            }

        }

    //常有属性

        self.selectionStyle = UITableViewCellSelectionStyleNone;

        self.backgroundView.backgroundColor = [UIColor clearColor];

        self.contentView.backgroundColor = [UIColor clearColor];

        self.backgroundColor = [UIColor clearColor];

        return self;

    }

  • 相关阅读:
    设计模式
    C++下char/string跟int型转换比较
    function
    流程控制
    运算符
    type
    language
    phpbasic
    html标签集合
    课题六
  • 原文地址:https://www.cnblogs.com/liaolijun/p/7885631.html
Copyright © 2011-2022 走看看