gpt4 book ai didi

ios - 从后台返回时未调用 UITextView 委托(delegate)方法 textViewDidChangeSelection

转载 作者:可可西里 更新时间:2023-11-01 05:56:17 24 4
gpt4 key购买 nike

我的 ViewController 实现了 UITextView 委托(delegate)方法 textViewDidChangeSelection。测试时一切都按预期工作。但是,如果应用程序置于后台,然后再次激活,则在 TextView 中更改选择时不会调用委托(delegate)方法。还有其他人遇到过这个问题吗?

我的 UITextView 子类是这样做的:

self.inputView = [[UIView alloc] initWithFrame:CGRectZero];

以上是为了不显示键盘,同时保持TextView开启。

子类也这样做:

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender{
{
if ( [UIMenuController sharedMenuController] )
{
[UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}

这是为了不显示单击 UITextView 时弹出的复制粘贴。我觉得这个方法看起来有点怪怪的,不过前段时间在SO上找到了,已经做了该做的事情。

最佳答案

当应用从后台返回时,UITextView 委托(delegate)方法 textViewDidChangeSelection: 再次触发。因此,您的应用中一定有其他事情发生。

只是为了确保我用 2 个 UITextView 控件创建了一个简单的应用程序,将它们的委托(delegate)设置为 View Controller 并添加了这段代码:

- (void) textViewDidChangeSelection:(UITextView *)textView
{
NSLog(@"Fire change selection.");
}

在应用程序后台运行之前和从后台运行回来之后都工作正常。

关于ios - 从后台返回时未调用 UITextView 委托(delegate)方法 textViewDidChangeSelection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com