rpe*_*ayr 17 portrait launch ipad uisplitviewcontroller
我正在做一个基于UISplitViewController的iPad应用程序.当我的应用程序在potrait中启动时,我对toobar按钮有一点问题.不显示显示弹出窗口的按钮.然而,当我将iPad旋转到横向然后再回到肖像时,按钮显示!
看起来在启动时没有调用以下方法(这是我有代码显示按钮):
- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController: (UIPopoverController *)pc
Run Code Online (Sandbox Code Playgroud)
应用程序启动时不会调用此方法,但仅在有旋转时调用.更奇怪的是,我使用Xcode UISplitViewController模板+核心数据制作了一个测试应用程序(类似于我正在使用的应用程序,并且是我用来制作此应用程序的模板).在我没有编写一行代码的测试应用程序上,按钮显示我以纵向模式启动应用程序时,上面的方法也会在启动时调用,而不是我的其他应用程序.有没有人有类似的问题?
最后,从Apple文档中不清楚在首次显示UISplitViewController时是否应该调用此方法:http: //developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewControllerDelegate_protocol/Reference/的reference.html%23 // apple_ref/DOC/UID/TP40009454
小智 23
"Kshitiz"有正确的概念.首先,我在viewDidLoad方法中设置self.splitviewController.delegate = self,设置此委托有点迟.所以,我试图在早期阶段设置委托,这是awakeFromNib方法.然后它运作良好.
所以,问题是在视图已经由viewDidLoad加载之后,那么委托将无法工作,它将在一些活动(例如旋转iPad)后工作一段时间.所以比viewDidLoad更早的阶段是awakeFromNib.
这是有效的代码:
- (void) awakeFromNib{
[super awakeFromNib];
self.splitViewController.delegate = self;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7296 次 |
| 最近记录: |