Ios 可编辑UITextView能否嵌入UIPopoverController中?
我正试图在UIPopoverController中嵌入一个可编辑的UITextView,带有。。。奇怪的结果。我采取的步骤是: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
- (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
作为第一响应程序,而不是视图控制器