【发布时间】:2012-12-17 23:23:54
【问题描述】:
我有两个视图控制器。在第一个中,我有一个按钮,当单击它时,我想在屏幕右侧显示另一个视图控制器,以便像模态呈现表单一样登录。
目前我有第二个带有标签的视图控制器,但是当我单击它时它显示为空,我不知道怎么做,因为我在里面放了一个标签,当然在屏幕中间。
LoginViewController *loginController = [[LoginViewController alloc] init];
loginController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:loginController animated:YES completion:nil];
loginController.view.superview.frame = CGRectMake(0, 0, 300, 1000);
loginController.view.superview.center = self.view.center;
有什么看标签的建议吗?换个位置?
【问题讨论】:
-
尝试使用
initWithNibName:@"MyNibName"]进行LoginViewController初始化。它可能正在创建UIViewController的新实例,因为它没有链接到您的 nib 文件.. -
我将此视图控制器的标题和情节提要 ID 命名为 LoginViewController,然后我将代码更改为 LoginViewController *loginController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] ;但是由于未捕获的异常'NSInternalInconsistencyException'而出现异常终止应用程序,原因:'Could not load NIB in bundle:
-
代替
nil,试试[NSBundle mainBundle],看看是否可行。 -
stackoverflow.com/a/8853872/1523962 。使用 UIStoryboard 实例方法
instantiateViewControllerWithIdentifier:。 -
您是否在 LoginViewController 类中明确设置了视图的超级视图?还是其他地方?否则,您不应尝试更改其属性。由于您添加了新的视图控制器,因此新视图将与您的其他视图不在同一视图层次结构中。
标签: ios view controller uimodalpresentationformsh