从警报更改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

上一篇: Change iOS tab view from alert

下一篇: Handling Push Notifications when App is NOT running