我创建了我的登录屏幕(两个字段和一个按钮)到MainWindow.xib。 在一些视图之后我想回到MainWindow.xib(登录屏幕)。 我真的不明白如何再次调用MainWindow.xib?
任何帮助都将不胜感激。
谢谢你, Snehal Mehta
答案 0 :(得分:0)
您不应该在MainWindow.xib中放置登录屏幕。让它在自己的视图控制器中生效。然后,您可以在认为合适时简单地读取视图控制器视图返回窗口。
希望这有帮助。
答案 1 :(得分:0)
您不会再次调用MainWindow.xib,只需关闭“某些视图”即可再次显示MainView。当然,这意味着首先在MainView上打开一些东西......
...所以我猜真正的问题是你是如何让“某种观点”可见的。常见的方法是使用'presentModalViewController'方法。这是一个快速但又脏的示例代码,只是为了给您一些想法:
从主视图打开'关于此应用'对话框:
- (IBAction)showInfo:(id)sender
{
AboutViewController *controller = [[[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil] autorelease];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
}
并且about视图告诉主视图关闭它:
- (IBAction)done:(id)sender
{
[self.delegate aboutViewControllerDidFinish:self];
}
主视图关闭视图:
- (void)aboutViewControllerDidFinish:(AboutViewController *)controller
{
[self dismissModalViewControllerAnimated:YES];
}
为了完成这项工作,您需要在视图标题中定义一个协议:
@class AboutViewController;
@protocol AboutViewControllerDelegate
- (void)aboutViewControllerDidFinish:(AboutViewController *)controller;
@end
@interface AboutViewController : UIViewController
@property (assign, nonatomic) id <AboutViewControllerDelegate> delegate;
- (IBAction)done:(id)sender;
@end
并在主视图标题中使用它:
@interface MyMainViewController : UIViewController <AboutViewControllerDelegate>
@end
嗯,我希望你有这个想法,可以通过搜索“@protocol”找到其余的,甚至可以“查看关于iPhone的查看示例代码”等。