您的位置:首页 > 产品设计 > UI/UE

UIView独占响应事件

2014-04-30 15:56 323 查看
exclusiveTouch



A Boolean value that indicates whether the receiver handles touch events exclusively.
Setting this property to YES causes the receiver to block the delivery of touch events to other views in the same window. The default value of this property is NO.

一个布尔值,用来标示一个view独占触摸事件.

当把一个view中的exclusiveTouch设置成YES时,会致使这个window屏蔽掉其他的view触发响应事件.默认值是NO.

不用说就知道他的用处了,你不知道怎么回事么?以后你会懂的,测试人员给你提bug的时候你就知道了,上例子:

#import "RootViewController.h"

@interface RootViewController ()

@property (nonatomic, strong) UIButton   *button1;
@property (nonatomic, strong) UIButton   *button2;

@end

@implementation RootViewController

- (void)viewDidLoad
{
[super viewDidLoad];

_button1 = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[self.view addSubview:_button1];
_button1.backgroundColor = [UIColor redColor];
[_button1 addTarget:self
action:@selector(buttonsEvent:)
forControlEvents:UIControlEventTouchUpInside];

_button1.exclusiveTouch = YES;

_button2 = [[UIButton alloc] initWithFrame:CGRectMake(0, 100, 100, 100)];
[self.view addSubview:_button2];
_button2.backgroundColor = [UIColor greenColor];
[_button2 addTarget:self
action:@selector(buttonsEvent:)
forControlEvents:UIControlEventTouchUpInside];

_button2.exclusiveTouch = YES;
}

- (void)buttonsEvent:(id)sender
{
if (_button1 == sender)
{
NSLog(@"1");
}

if (_button2 == sender)
{
NSLog(@"2");
}
}

@end


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: