• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - UIPopViewController 不工作

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:09:08 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个 .h 和 .m 链接的 xib 文件。在 xib 中有一个带有 textView 的 UIView。当您单击按钮时,我想对该 View 执行的操作是作为 UIPopViewController 将其打开。

这是我的代码:

- (IBAction)thisButtonid)sender
{
    popViewController *popVC = [[popViewController alloc] initWithNibName"popViewController" bundle:nil];

    self.pop = [[UIPopoverController alloc] initWithContentViewController:popVC];

    [self.pop setPopoverContentSize:CGSizeMake(220, 120) animated:YES];
    [self.pop presentPopoverFromRect:[(UIButton *)sender frame] inView:self.view
                   permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}

它因以下错误而崩溃。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIPopoverController initWithContentViewController:] called when not running under UIUserInterfaceIdiomPad.'

我不明白这个错误。



Best Answer-推荐答案


UIPopoverController 仅适用于 iPad。在 iOS 8 中,您可以使用 UIPopoverPresentationController适用于 iPhone 和 iPad,还有一个小技巧可以让它看起来像 UIPopoverController 解释 HERE .


这是您在我提供的链接中看到的 swift 代码的 Objective-C 版本。

@interface SomeViewController : UIViewController <UIPopoverPresentationControllerDelegate>
@end

@implementation SomeViewController

-(void) prepareForSegueUIStoryboardSegue *) segue senderid) sender 
{
    if ([segue.identifier isEqualToString"opoverSegue"]) {
        UIViewController *controller = segue.destinationViewController;
        controller.popoverPresentationController.delegate = self;
        controller.preferredContentSize = CGSizeMake(320, 186);                
    }
}

// MARK: UIPopoverPresentationControllerDelegate

-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationControllerUIPresentationController *)controller 
{
    // Return no adaptive presentation style, use default presentation behaviour
    return UIModalPresentationNone;
}
@end

关于ios - UIPopViewController 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28143309/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap