【发布时间】:2011-11-03 17:29:55
【问题描述】:
当我在 ipad 上运行我的应用程序时将我的 iPad 和 xcode 更新到最新版本 iOS5 和 xcode 4.2 后,在横向视图中,分屏可以正常工作,而当我将其旋转到纵向视图然后按下按钮时/menu icon 我得到了弹出窗口,但没有内容只是弹出窗口的顶部出现。见附图
菜单按钮不是通过代码生成的,普通按钮如下:
-(void)viewMenu:(id)sender{
[self.popoverController presentPopoverFromRect:self.view.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];
[self.popoverController presentPopoverFromRect:CGRectMake(10.0f, 50.0f, 10.0f, 10.0f) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
菜单列表通过 plist 代码填充。
多一点splitview代码如下:
- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController: (UIPopoverController *)pc
{
barButtonItem.title = @"Menu";
self.toolbar.tintColor = [UIColor colorWithRed:254.0/255.0 green:193.0/255.0 blue:32.0/255.0 alpha:1.0];
self.toolbar.hidden = YES;
NSMutableArray *items = [[self.toolbar items] mutableCopy];
[items insertObject:barButtonItem atIndex:0];
[self.toolbar setItems:items animated:YES];
[items release];
self.popoverController = pc;
viewMenu.hidden = NO;
}
// Called when the view is shown again in the split view, invalidating the button and popover controller.
- (void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
NSMutableArray *items = [[self.toolbar items] mutableCopy];
[items removeObjectAtIndex:0];
[self.toolbar setItems:items animated:YES];
[items release];
self.popoverController = nil;
viewMenu.hidden = YES;
}
有什么想法,我该如何解决这个问题?
【问题讨论】:
-
在viewMenu中,为什么presentPopoverFromRect被调用了两次?第二个调用看起来是正确的。
标签: ios5 uisplitviewcontroller xcode4.2