我遇到了AlertView的问题。我正在尝试使用UIAlertView
,点击确定后它会返回上一个屏幕,但似乎没有任何建议?
if (xGPSCoordinate==0 && yGPSCoordinate == 0) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title"
message:@"Failed to load the to get your current location"
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
return;
[self.navigationController popViewControllerAnimated:YES];
}
或
if (xGPSCoordinate==0 && yGPSCoordinate == 0) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"iPoly"
message:@"Failed to load the to get your current location"
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
[self.navigationController popViewControllerAnimated:YES];
return;
}
两者都不起作用
答案 0 :(得分:3)
为此,您必须使用UIAlertView
的委托方法。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
首先在@interface
<UIAlertViewDelegate>
然后设置委托self.yourAlertView.delegate=self
;
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex==0)//first button which should be the OK button
{
[self.navigationController popViewControllerAnimated:YES];
}
}
答案 1 :(得分:1)
使用UIAlertView的委托方法,请参阅iNoob给出的答案。如果你在“回归”之后写任何东西,那就没有意义了。声明如下面的代码“return;”声明永远不会被执行。
请参阅apple developer链接,了解有关UIAlertView委托http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIAlertViewDelegate_Protocol/UIAlertViewDelegate/UIAlertViewDelegate.html
的更多详细信息或关于警报视图的简单教程 http://mobile.tutsplus.com/tutorials/iphone/uialertview/
答案 2 :(得分:0)
您只需要实现UIAlerView Delegate Methods。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{}
将Pop的代码编写到此前的Controller中。您可以单击按钮索引并根据您可以使用的内容。不要将Conform UIAlertViewDelegate连接到接口。