IOS 开发两个按钮(button)很近的时候同时触发事件解决的方法(setExclusiveTouch)

来源:互联网 发布:病态矩阵 编辑:程序博客网 时间:2024/04/19 12:35

原文链接http://blog.sina.com.cn/s/blog_916e0cff01014l5t.html

/ 第一个按钮(button)添加事件

[Button1 addTarget:self action:@selector(actionButton:) forControlEvents:UIControlEventTouchUpInside];
    [Button1 addTarget:self action:@selector(recordButtonAction:) forControlEvents:UIControlEventTouchDown];
    [Button1 addTarget:self action:@selector(recoveryButtonAction:) forControlEvents:UIControlEventTouchUpOutside];
// 第二个按钮(button)添加事件
[Button1 addTarget:self action:@selector(actionButton:) forControlEvents:UIControlEventTouchUpInside];
    [Button1 addTarget:self action:@selector(recordButtonAction:) forControlEvents:UIControlEventTouchDown];
    [Button1 addTarget:self action:@selector(recoveryButtonAction:) forControlEvents:UIControlEventTouchUpOutside];
// 事件响应
// 点击从按钮里面欧元离开屏幕响应事件时恢复按钮的状态并触发事件
- (void)actionButton:(UButton *)button {
    Button2.enabled = YES;
    Button1.enabled = YES;
    if (button == Button1) {
        [self Button1Pressed];
    }
    else if (button == Button2) {
        [self Button2Pressed];
    }
}
// 当点下时把另一按钮设置不可点
- (void)recordButtonAction:(UButton *)button {
    if (button == Button1) {
        Button2.enabled = NO;
    }      
    else if (button == Button2) {
        Button1.enabled = NO;
    }
}
//当点下按钮从按钮区域外离开时恢复button状态
- (void)recoveryButtonAction:(UButton *)button {
    Button2.enabled = YES;
    Button1.enabled = YES;
}

- (void)Button1Pressed {
第一个按钮事件处理
}
- (void)Button2Pressed {
第二个按钮事件处理
}

做了两年多IOS开发了,今天发现一个特别简单的方法,以上方法在是太臃肿了,但不排除能解决问题。不多扯了,让那个简单的方法闪亮登场吧。
[btn setExclusiveTouch:YES];(用UIButton的实例调用试试吧)
这个是uiview的成员方法, 只要是继承自uiview的空间都可以用
0 0
原创粉丝点击