Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在更改UITextView.inputView时未调用textViewDidChange?_Ios_Objective C_Uitextview_Uitextviewdelegate - Fatal编程技术网

Ios 在更改UITextView.inputView时未调用textViewDidChange?

Ios 在更改UITextView.inputView时未调用textViewDidChange?,ios,objective-c,uitextview,uitextviewdelegate,Ios,Objective C,Uitextview,Uitextviewdelegate,我拖动一个UITextView并将代理与文件的所有者连接起来 仅使用默认键盘调用textViewDidChange,但从我的键盘输入文本时不会发生任何情况 如何在将inputView设置为自定义键盘时启用UITextView的委托 这是我的密码 ViewController.m -(void)viewDidLoad{ self.myKeyboard = [[[NSBundle mainBundle] loadNibNamed:@"MyKeyboard" owner:nil options

我拖动一个
UITextView
并将代理与
文件的所有者连接起来

仅使用默认键盘调用
textViewDidChange
,但从我的键盘输入文本时不会发生任何情况

如何在将
inputView
设置为自定义键盘时启用
UITextView
的委托

这是我的密码

ViewController.m

-(void)viewDidLoad{
    self.myKeyboard = [[[NSBundle mainBundle] loadNibNamed:@"MyKeyboard" owner:nil options:nil] objectAtIndex:0];
    [self.myKeyboard setTextView:self.textView];
}

#pragma mark TestViewDelegate
    - (void)textViewDidChange:(UITextView *)textView{
        NSLog(@"TextDidChange: %@",textView.text);
    }
我的键盘

@interface MyKeyboard : UIView
@property (weak,nonatomic) id<UITextInput> textView;
-(void)setTextView:(id<UITextInput>)textView;
@end
@界面MyKeyboard:UIView
@属性(弱,非原子)id textView;
-(void)setTextView:(id)textView;
@结束
我的键盘

 -(void)setTextView:(id<UITextInput>)textView{
        _textView = textView;
        if ([textView isKindOfClass:[UITextView class]])
            [(UITextView *)textView setInputView:self];
        else if ([textView isKindOfClass:[UITextField class]])
            [(UITextField *)textView setInputView:self];
    }
-(void)setTextView:(id)textView{
_textView=textView;
if([textView IsKindof类:[UITextView类]])
[(UITextView*)textView设置输入视图:self];
else if([textView IsKindof类:[UITextField类]])
[(UITextField*)textView设置输入视图:self];
}

在自定义键盘中,您可能会使用方法
setText:
更改
textView
中的文本,但此方法中所做的更改不会调用
textViewDidChanged
回调。
阅读更多信息

textViewDidChange:
讨论

文本视图调用此方法以响应用户发起的更改 对文本进行修改此方法不会以编程方式调用以响应 已启动更改。


因此,您应该从键盘手动调用此方法。

我在任何地方都没有看到委托集。您是否运行了
textView.delegate=self