当我在AlertView上按下手动输入和扫描标签按钮时,我想要执行一个segue。
@implementation triageViewController
- (IBAction)addNew:(id)sender {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Add A New Entry"
message:@"Choose a way to add a new entry."
delegate:nil
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Manual Entry", @"Scan Tag", nil];
[alert show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex != alertView.firstOtherButtonIndex) {
[self performSegueWithIdentifier:@"manual" sender: self];
}
if (buttonIndex != alertView.cancelButtonIndex) {
[self performSegueWithIdentifier:@"scan" sender: self];
}
}
(我意识到这可能会使取消按钮现在成为一个segue,但我更关心的是让它工作)
我的故事板中有两个segue,从UITabViewController到两个不同的UIViewControllers。这些都没有被调用,所以当我点击它们时。我尝试使用push和modal segues,但两个都没有工作。
我也尝试了if / else语句,如下所示:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
[self performSegueWithIdentifier:@"manual" sender: self];
}
if (buttonIndex == 1) {
[self performSegueWithIdentifier:@"scan" sender: self];
}
}
但这也不起作用。
有人可以帮我弄清楚出了什么问题吗?在我不清楚的情况下,我想从位于UITabBarController上的UIAlertView弹出窗口中将segue预先形成为两个单独的UIViewControllers。 感谢
答案 0 :(得分:1)
您的UIAlertView
似乎delegate
nil
,因此您的功能永远不会被调用。将其设置为self
,然后在视图控制器的标题中确保您正在实施UIAlertViewDelegate
协议。