我有应用程序完成启动时弹出的此警报视图(免责声明)。它工作正常(我的应用程序现在慢得多),但如果用户按下no, thanks
,我也想退出应用程序。我想我应该使用clickedButtonAtIndex:
有人可以帮我吗?
2. viewDidLoad是应用程序启动时触发alertView的最佳方法吗?
3.有什么理由为什么现在我的应用程序在构建和运行时需要更多时间才能开始?
-(void)viewDidLoad {
UIAlertView *disclaimer = [[UIAlertView alloc] initWithTitle: @"DISCLAIMER" message:@"This Application is provided without any express or implied warranty. Errors or omissions in either the software or the data are not guaranteed against. The application is not intented to replace official documentation or operational procedure. In no event shal the developer be held liable for any direct or indirect damages arising from the use of this application" delegate:self cancelButtonTitle:@"No, thanks" otherButtonTitles:@"Accept", nil];
[disclaimer show];
[disclaimer release];
[super viewDidLoad];
}
答案 0 :(得分:12)
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if(buttonIndex == 0)
// Do something
else
// Some code
}
或
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex == 0)
// Do something
else
// Some code
}
确保您的班级符合UIAlertViewDelegate
协议。
我不认为退出应用程序是一个很好的方法。你应该只让用户按下主页按钮关闭应用程序。这违反了用户期望每个应用程序遵循的默认行为。
答案 1 :(得分:10)
试试这个魔法:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(alertView.cancelButtonIndex == buttonIndex){
// Do cancel
}
else{
// Do the real thing
}
}