【问题标题】:Content not being added to UIPopoverController?内容未添加到 UIPopoverController?
【发布时间】:2012-05-27 13:20:14
【问题描述】:

我是 iOS 开发的新手,所以请放慢我的脚步。 我正在尝试学习如何使用 UIPopoverCotroller 并且遇到了问题。 弹出框显示正确,但没有添加任何内容,只是黑色。 我正在使用这行代码尝试向弹出框添加内容:

self.photosPopover = [[UIPopoverController alloc]initWithContentViewController:self.photosPopoverViewController]; 

这里还有一些代码可以提供帮助:

-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController{
    self.photosPopover=nil;
}

-(IBAction)photosPopoverButtonPressed:(id)sender{
    if([self.photosPopover isPopoverVisible]){
        [self.photosPopover dismissPopoverAnimated:YES];
        self.photosPopover=nil;
        return;
    }

    self.photosPopoverViewController = [[PhotosPopoverViewController alloc]init];
    self.photosPopover = [[UIPopoverController alloc]initWithContentViewController:self.photosPopoverViewController];
    [self.photosPopover setDelegate:self];
    [self.photosPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    [self.photosPopover setPopoverContentSize:CGSizeMake(320, 480)];
}

我正在使用 Xcode 4.3、ARC 和故事板。

感谢您的帮助!

-Shredder2794

【问题讨论】:

  • 如果你 NSLog self.photosPopoverViewController 在你初始化之后它会给你一个对象吗?
  • viewDidLoad 或类似的东西在你的 viewController 中被调用了吗?
  • 是的,正在调用 ViewDidLoad
  • 您是否尝试过在弹出框之外呈现视图以确保弹出框是问题所在?
  • 是的,我刚试过,当我对该视图进行模态搜索时,它工作正常

标签: cocoa-touch ipad storyboard automatic-ref-counting uipopovercontroller


【解决方案1】:

您需要从情节提要中实例化您的视图。对不起,我没有早点看到这个......

self.photosPopoverViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"photosViewController"];

这是在 Storyboards 中将 customViewController 连接到 viewController 对象的方法。您构建您的 PhotosPopoverViewController.h 和 PhotosPopoverViewController.m 然后您单击情节提要中的 viewController 对象并找到自定义类标识符。开始输入您的班级名称,它会自动填充它。

【讨论】:

  • 您可以将您的项目上传到网络上的某个地方,以便我看看吗?
  • 我也不希望。为什么情节提要中的 UIViewController 不会与其类链接?我发现了如何使弹出框正常工作,但它只有在我通过代码而不是主 sotoryboard 中的 UIViewContoller 构建界面时才有效。顺便说一下,主故事板中的 UIViewController 对象通过身份检查器与其类链接,但它确实没有出现在弹出窗口中。有什么想法吗?
  • 你是否覆盖了 init 或类似的东西?我们可以发布一些控制器视图生命周期的代码吗?
  • 这是放在弹出框中的类的实现文件中的所有代码:` #import "PhotosPopoverViewController.h" @implementation PhotosPopoverViewController @synthesize mainLabel = _mainLabel; -(void)viewDidLoad{ [超级 viewDidLoad]; self.mainLabel = [[UILabel alloc]init]; self.mainLabel.frame = CGRectMake(0, 0, 50.0f, 50.0f); self.mainLabel.text=@"嗨"; [self.view addSubview:self.mainLabel]; } @end`
  • "评论使用迷你 Markdown 格式:link italic bold code。帖子作者将始终收到您的评论通知。要通知之前的评论者,请提及他们的用户名:@peter 或 @PeterSmith 都可以。了解更多..."
猜你喜欢
  • 2013-02-24
  • 2011-08-26
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2013-03-13
  • 1970-01-01
  • 2013-01-25
  • 2021-03-24
相关资源
最近更新 更多