当我运行我的应用程序并单击按钮以显示操作表时:
提交由其超级视图剪辑的动作表.某些控件可能无法响应触摸.在iPhone上尝试 - [UIActionSheet showFromTabBar:]或 - [UIActionSheet showFromToolbar:]而不是 - [UIActionSheet showInView:].
我该怎么办?
我有一个iPhone应用程序:当你打开应用程序时,你会看到"LoginView".如果您登录到应用程序,您会看到一个TabBarController.在第三个和最后一个选项卡中有"注销"按钮.如果单击,则会再次看到"LoginView".我的问题是,如果你再次登录,你会看到"旧"标签栏,所选标签是第三个,而不是一个标签,并且有一个"退出"按钮.此外,如果用户使用其他用户登录,请查看上一个用户的旧数据(非常危险).
这是代码: - Delegate.h:
UITabBarController *tabBarController;
LoginViewController *loginView;
Run Code Online (Sandbox Code Playgroud)
- Delegate.m(didFinishLaunchingWithOptions):
[self.window makeKeyAndVisible];
loginView = [[LoginViewController alloc] init];
if (YES) { /* if the user is not already logged */
[self.window addSubview:loginView.view];
}
Run Code Online (Sandbox Code Playgroud)
Delegate.m(方法):
- (void)loginComplete {
[loginView dismissModalViewControllerAnimated:YES];
[window addSubview:tabBarController.view];
}
- (void)logoutComplete {
[[tabBarController view] removeFromSuperview];
[tabBarController release];
[window addSubview:loginView.view];
}
Run Code Online (Sandbox Code Playgroud)
这是两个不同viewcontrollers中的两种方法:
- (IBAction)login:(id)sender {
TabNavisAppDelegate *delegate =
(TabNavisAppDelegate *) [[UIApplication sharedApplication] delegate];
[delegate loginComplete];
}
Run Code Online (Sandbox Code Playgroud)
(注销方法是一样的)
伙计们,我该如何解决这个痛苦的问题呢?所以,这里有一个我想要的应用程序列表:"Foursquare","Brightkite"等.每个人都有一个登录屏幕,一个标签栏视图和一个注销按钮.
感谢大家.