• 来公司第一天


    1 ,translatesAutoresizingMaskIntoConstraints

    如果是从代码层面开始使用Autolayout,需要对使用的ViewtranslatesAutoresizingMaskIntoConstraints的属性设置为NO.
    即可开始通过代码添加Constraint,否则View还是会按照以往的autoresizingMask进行计算.
    而在Interface Builder中勾选了Ues Autolayout,IB生成的控件的translatesAutoresizingMaskIntoConstraints属性都会被默认设置NO.

    2,

    一般,Tap、pinch,pan、swipe只是一个简单的单个触摸,它有一定的局限性,所以多点触摸诞生了~为实现多点触摸,首先得做下列事情

    • 设置view的属性multipleTouchEnabled = YES(注意了。。。默认值是NO);
    • 使用CFDictionaryRef来保存触摸过程的参数 

    对于使用多点触摸处理事件,你必须频繁地存储以后进行触摸比较的触摸状态。例如,你要比较每个触摸的结束点位置和原始位置,你可以在touchesBegan:withEvent: 方法中获取每个触摸的原始位置(使用locationInView:方法),然后存储在CFDictionaryRef对象中,使用UITouch对象地址作为KEY。然后你可以在touchesEnded:withEvent: 方法中取出原始点,和当前点进行比较。

    需要注意的是这里使用CFDictionaryRef对象而不是NSDitionary对象,因为UITouch类没有实现NSCopying协议。

    代码
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self cacheBeginPointForTouches:touches];
    }
    - (void)cacheBeginPointForTouches:(NSSet *)touches {
    if ([touches count] > 0) {
    for (UITouch *touch in touches) {
    CGPoint *point = (CGPoint *)CFDictionaryGetValue(touchBeginPoints,
    touch);
    } }
    if (point == NULL) {
    point = (CGPoint *)malloc(sizeof(CGPoint));
    CFDictionarySetValue(touchBeginPoints, touch, point);
    }
    *point = [touch locationInView:view.superview];
    }

  • 相关阅读:
    hadoop集群委任和解除节点
    hadoop参数
    HDFS启动及读写过程(读书笔记)
    hadoop QJM高可用原理
    十七、S3C2440裸机—IIC 接口
    十六、S3C2440裸机—UART
    十五、S3C2440裸机—系统时钟和定时器
    十四、s3c2440裸机—中断控制器
    四、NAND Flash
    二、存储管理器--SDRAM
  • 原文地址:https://www.cnblogs.com/ygsios/p/4249896.html
Copyright © 2020-2023  润新知