2011-05-10 50 views
0

我创建了我的登录屏幕(两个字段和一个按钮)到MainWindow.xib。 经过一番观察后,我想回到MainWindow.xib(登录屏幕)。 我真的不明白如何再次调用MainWindow.xib?致电MainWindow.xib

任何帮助,将不胜感激。

谢谢 Snehal梅塔

回答

0

你不应该把一个登录界面中的MainWindow.xib。让它生活在它自己的视图控制器中。然后,只要您认为合适,您可以简单地将该视图控制器读回窗口。

希望这会有所帮助。

+0

感谢您的答复。事情是,我无法从视图加载拆分视图控制器,但只能从window.Thats为什么我在MainWindow.XIB中创建登录页面。 – user714236 2011-05-10 19:54:29

+0

听起来不像是你的问题的适当解决方案。您可以将您的登录控制器加载到右侧视图,并仅以纵向模式加载它,以便您不能看到左侧视图。还有其他方法来处理这个问题。 – Jamie 2011-05-10 20:13:50

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]; 
} 

和有关视图告诉主视图来关闭它:

- (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的示例代码”等