iOS5:在xcode中升级到iOS5后出现UIPopover/Sliptview问题
当我在iPad上运行我的应用程序时,将我的iPad和xcode更新到最新版本iOS5和xcode 4.2后,在横向视图中,splitscreen会正常工作,当我将其旋转到纵向视图,然后按下按钮/菜单图标时,我会看到弹出框,但没有内容,只有弹出框的顶部出现。见附图 菜单按钮通过代码not生成,普通按钮见下:iOS5:在xcode中升级到iOS5后出现UIPopover/Sliptview问题,ios5,uisplitviewcontroller,xcode4.2,Ios5,Uisplitviewcontroller,Xcode4.2,当我在iPad上运行我的应用程序时,将我的iPad和xcode更新到最新版本iOS5和xcode 4.2后,在横向视图中,splitscreen会正常工作,当我将其旋转到纵向视图,然后按下按钮/菜单图标时,我会看到弹出框,但没有内容,只有弹出框的顶部出现。见附图 菜单按钮通过代码not生成,普通按钮见下: -(void)viewMenu:(id)sender{ [self.popoverController presentPopoverFromRect:self.view.
-(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;
}
你知道发生了什么事以及我如何纠正这个问题吗?正如我在下面的一条评论中提到的,我的问题是由重复的代码引起的,我整天盯着代码看都看不见 非常感谢安娜·卡列尼娜的观察,不好意思,我不能投票赞成发表评论 重复的代码和我需要删除的代码在上面的第一批中,删除重复后的正确代码如下所示
-(void)viewMenu:(id)sender{
[self.popoverController presentPopoverFromRect:CGRectMake(10.0f, 50.0f, 10.0f, 10.0f) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
再次感谢在查看菜单中,为什么presentPopoverFromRect会被调用两次?第二个电话看起来是正确的。