通过点击外部或取消按钮在 iOS 中关闭警报视图
Posted
技术标签:
【中文标题】通过点击外部或取消按钮在 iOS 中关闭警报视图【英文标题】:Dismiss alert view in iOS by tapping outside or cancel button 【发布时间】:2015-11-25 04:32:57 【问题描述】:我遇到了一个非常奇怪的问题,我想在用户点击取消按钮或其他任何地方时关闭 UIAlertView
。我已经阅读了几乎所有的帖子,但找不到解决我问题的答案,你们中的任何人都知道如何做到这一点吗?请指导我完成这些步骤,我将非常感谢。
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:label.text
message:label1.text
delegate:self
cancelButtonTitle:@"ཕྱིར་འཐེན།"
otherButtonTitles:@"ཉེ་ཆར།",@"དགའ་མོས།",@"ཉེ་ཆར་གཙང་བཟོ།",@"དགའ་མོས་གཙང་བཟོ།",nil];
[alert show];
【问题讨论】:
【参考方案1】:试试这个代码
// Add gesture
UITapGestureRecognizer *tapOnView = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(dismissAlert)];
[alert addGestureRecognizer:tapOnView];
然后你可以调用一个函数来解除你的警报
【讨论】:
【参考方案2】:调用 touchesEnded 方法。当用户点击屏幕上的任何其他位置时,它会帮助您关闭 alertView
-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
[self.yourAlert dismissWithClickedButtonIndex:0 animated:YES];
记得创建 yourAlert 作为强参考
【讨论】:
我相信这样如果你点击是而不是取消,你会点击是和取消两个事件......以上是关于通过点击外部或取消按钮在 iOS 中关闭警报视图的主要内容,如果未能解决你的问题,请参考以下文章