我使用电弧和故事板在icode 6中使用xcode 4.6.2。 我创建了一个MainStoryboard.storyboard 在这里,我创建了2个viewcontrollers:SplashViewController和WalkthroughViewController。 随着segues我从一个到另一个。 在WalkthroughViewController中,我创建了2个视图:1个scrollview,从顶部覆盖370个高度,另一个视图用于登录模块,从底部覆盖110个高度。
现在我想分开这两个模块的逻辑。 因为我可以重用登录模块,演练将是一个滚动视图,它将由plist文件中的图像自动完成。
我尝试使用xib文件创建一个名为LoginViewController的uiviewcontroller,并将视图连接到我的WalkthroughViewController,将其拖放到我的.h文件中。我叫它loginView。登录视图的xib文件有2个按钮,名为“facebook login”和“skip login”。
@property (strong, nonatomic) IBOutlet UIView *loginView;
在.m文件中,我尝试使用initwithnibname方法初始化此视图,所以:
self.loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil].view;
该应用程序现在可以正常运行而不会崩溃,但屏幕为空。
为什么我的观点没有被分配或看起来不应该是什么想法呢?我根本没有看到facebooklogin或skiplogin按钮..
谢谢。
答案 0 :(得分:1)
self.loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil].view;
CGRect loginViewFrame = CGRectMake(0, self.view.frame.size.height-110, self.view.frame.size.width, 110);
[self.view addSubview:loginView];
loginView.frame = loginViewFrame;
答案 1 :(得分:1)
你最好不要这样写:
self.loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil].view;
更好地使用整个viewController 喜欢:
loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
你可以使loginView是viewController而不是视图 并添加bringSubviewToFront以使loginView可见