通过点击外部或取消按钮关闭iOS中的警报视图

时间:2015-11-25 04:32:57

标签: ios objective-c uialertview tap

我有一个非常奇怪的问题,当用户点击取消按钮或其他任何地方时,我想要忽略UIAlertView。我几乎阅读了所有的帖子,找不到解决我问题的答案,你们有什么想法怎么做吗?请指导我完成这些步骤,我将非常感谢。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:label.text
                                                message:label1.text
                                               delegate:self
                                      cancelButtonTitle:@"ཕྱིར་འཐེན།"
                                      otherButtonTitles:@"ཉེ་ཆར།",@"དགའ་མོས།",@"ཉེ་ཆར་གཙང་བཟོ།",@"དགའ་མོས་གཙང་བཟོ།",nil];
[alert show];

2 个答案:

答案 0 :(得分:0)

调用touchesEnded方法。当用户点击屏幕上的任何其他位置时,它会帮助您解除alertView

-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [self.yourAlert dismissWithClickedButtonIndex:0 animated:YES];
}

并记得将yourAlert创建为强引用

答案 1 :(得分:0)

试试此代码

// Add gesture
UITapGestureRecognizer *tapOnView = [[UITapGestureRecognizer alloc] initWithTarget:self
                                                                            action:@selector(dismissAlert)];
[alert addGestureRecognizer:tapOnView];

然后你可以调用一个解除警报的功能