Ios 可编辑UITextView能否嵌入UIPopoverController中?

Ios 可编辑UITextView能否嵌入UIPopoverController中?,ios,cocoa-touch,ipad,uiviewcontroller,uipopovercontroller,Ios,Cocoa Touch,Ipad,Uiviewcontroller,Uipopovercontroller,我正试图在UIPopoverController中嵌入一个可编辑的UITextView,带有。。。奇怪的结果。我采取的步骤是: 创建一个自定义UIViewController类,并使用该控制器创建一个.xib文件,其中包含一个UITextView 当应该显示控制器的UI操作发生时(内部润色),我从.xib文件实例化控制器及其视图 我创建了一个新的UIPopoverController,其中的视图控制器我刚刚实例化为内容视图 我使用presentPopoverFromRect:inView:per

我正试图在UIPopoverController中嵌入一个可编辑的UITextView,带有。。。奇怪的结果。我采取的步骤是:

  • 创建一个自定义UIViewController类,并使用该控制器创建一个.xib文件,其中包含一个UITextView
  • 当应该显示控制器的UI操作发生时(内部润色),我从.xib文件实例化控制器及其视图
  • 我创建了一个新的UIPopoverController,其中的视图控制器我刚刚实例化为内容视图
  • 我使用presentPopoverFromRect:inView:permittedArrowDirections:animated:
  • 下面是一些示例代码:

    - (void)noteButtonPressed:(id)sender {
        self.noteview = [[MyTextPopupViewController alloc] initWithNibName:@"MyTextPopupViewController" bundle:nil ];
        UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:self.noteview];
        self.popover = popoverController;
        self.popover.delegate = self;
        [self.popover presentPopoverFromRect:((UIView*)sender).frame
                                      inView:self.view
                    permittedArrowDirections:UIPopoverArrowDirectionAny
                                    animated:YES];
    }
    
    然后,在MyTextPopupViewController中,我确保文本视图是启动键盘的第一个响应程序:

    - (void)viewDidAppear:(BOOL)animated {
        [self.view becomeFirstResponder];
    
        [super viewDidAppear:animated];
    }
    
    这一切都有效。。。直到它没有。有时候,它工作得很完美;其他时候,无论是立即还是在几次击键之后,应用程序都会通过退出主事件循环(!)而崩溃。不会抛出异常(至少lldb不会捕获异常),但应用程序会在模拟器和硬件上简单地停止


    有什么想法吗?是否有人成功地实现了此功能,或者确实知道它没有成功?

    我认为UIPopoverController实例需要成为代码中的一个属性。

    MyTextPopupViewController
    中,是否实现了
    textView:shouldChangeTextInRange:replacementText:
    (或此处可能导致问题的任何其他委托方法)?如果是,请发布该代码。此外,您应该切换
    视图中的两行,以便在执行任何操作之前正确调用super。我目前没有实现任何UITextViewDelegate方法。在ViewDidDisplay中反转这些行:不会改变行为。完全可以使用可编辑的UITepopover中的xtView。我在shipping应用程序中的设置没有问题(尽管我看不出您的代码有任何明显的错误)。我建议将
    UITextView
    作为第一响应程序,而不是视图控制器