无法使用SLComposeServiceViewController隐藏键盘

时间:2015-11-25 19:35:06

标签: ios objective-c cocoa-touch slcomposeviewcontroller ios8-share-extension

我的共享扩展程序除了在表格视图中配置之外不需要任何用户输入,所以我试图在Safari中显示视图时隐藏键盘。我能够在模拟器中正常运行我的代码,但是当我在设备上进行测试时,我发现共享扩展程序无法启动并且Safari挂起。

我尝试了几种方法来防止键盘启动

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    self.textView.text = @"\n Place Holder Text";
    self.textView.editable = NO;
}

同样,我在loadView中尝试过,因为那是SLComposeServiceViewController 设置textView和textView委托。

-(void)loadView{
    [super viewWillAppear:animated];
    self.textView.text = @"\n Place Holder Text";
    self.textView.editable = NO;
}

只是为了好玩

-(BOOL)textViewShouldBeginEditing:(UITextView *)textView{

    return NO;
}

所有这些都在模拟器上工作,但不在我的设备上。

可能会发生什么?

我是否(或Safari)缺少某种通知或观察者

1 个答案:

答案 0 :(得分:3)

您只需将代码放在“viewDidAppear”函数中即可。    它对我来说很好。

-(void) viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self.textView setText:@" Place Holder Text"];
    [self.textView setEditable: NO];
}