调用MainWindow.xib

时间:2011-05-10 19:01:02

标签: iphone

我创建了我的登录屏幕(两个字段和一个按钮)到MainWindow.xib。 在一些视图之后我想回到MainWindow.xib(登录屏幕)。 我真的不明白如何再次调用MainWindow.xib?

任何帮助都将不胜感激。

谢谢你, Snehal Mehta

2 个答案:

答案 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的查看示例代码”等。