从警报更改iOS选项卡视图
我有一个带有2个选项卡视图的选项卡应用程序。 当用户在警报视图上按下“确定”时,我想将视图从第二个选项卡更改为第一个。
下面的代码片段在按下-IBAction按钮时使用它,但在警报代码中使用它时不起作用:
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];
为什么在我的SeondViewController.m中使用下面的方法时不起作用
- (void)viewDidLoad {
[super viewDidLoad];?
UIAlertView *alert =[[UIAlertView alloc]
initWithTitle:@"Camera and Target coincident"
message:msg
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];
我只是在学习这一点,所以你可以提供任何帮助。
当我使用下面的代码:if([TheProjection Trans_Initialise] == 1){NSString * msg = nil; UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@“Camera and Target coincident”message:msg delegate:self cancelButtonTitle:@“OK”otherButtonTitles:nil]; [alertView show];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:@"OK"]) {
self.tabBarController.selectedIndex = 0;
}
}
我得到的错误信息 - (无效)alertView“无效的参数类型无效的一元表达式”我是做一些语法,或者是(很可能)我只是不明白的东西?
首先,您需要从警报视图返回一个委托,通知您有关单击的按钮。
您的警报视图应该像这样创建:
UIAlertView *alert =[[UIAlertView alloc] initWithTitle:@"Camera and Target coincident" message:msg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
然后在你的m文件中实现这个功能:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:@"OK"]) {
self.tabBarController.selectedIndex = 0;
}
}
链接地址: http://www.djcxy.com/p/67255.html