UI相关问题

1、// NSSet    : 集合,同样是保存一组数据,不过集合中的对象“没有顺序”

    // 要访问NSSet中的对象,使用anyObject

    // 集合的用处:例如可重用单元格,在缓冲区找一个就拿出来了

    // NSArray  : 存储有序的对象,对象的顺序是按照添加的先后次序来决定,通过下标来访问数组中的对象

2、// 支持多点

    self.view.multipleTouchEnabled = YES;

3、// 1. 图像视图默认不支持用户交互

    self.imageView.userInteractionEnabled = NO;

    // 2. 透明度 <= 0.01的时候,接受交互

   // self.imageView.alpha = 0.02;

    // 3. 隐藏

   // self.imageView.hidden = YES;

   // 第4种情况,如果子视图所在位置,超出了父视图的有效范围,是不能交互的

    // 即便没有设置clipsToBounds,也只能显示,但是不能交互!

4、//

// 1> hitTest方法是系统"底层专门"用来"递归遍历"哪一个视图应该对点击做出响应的方法!

// 2> point参数是当前视图的坐标点,专门用来判断用户触摸点是否在视图的"有效范围"内!

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

{ // 强行拦截所有的点击测试!

    return [super hitTest:point withEvent:event];

}

5、判断一个点是否在某一个范围内
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    UITouch *touch = [touches anyObject];

    CGPoint pos = [touch locationInView:touch.view];

    for (UIButton *btn in self.subviews) {

        if (CGRectContainsPoint(btn.frame, pos)) {

            btn.selected = YES;

        }

    }

}

6、事务

2.1 -> 开启事务
[CATransaction begin];
[CATransaction setDisableActions:YES];
2.2 -> 提交事务
[CATransaction commit];
posted @ 2015-07-08 10:17  树籽  阅读(122)  评论(0编辑  收藏  举报