iOS共享扩展程序解除键盘

时间:2015-01-23 16:41:31

标签: ios ios8 ios8-extension ios8-share-extension

我正在为我的应用实施共享扩展程序,到目前为止一切都很顺利,除非我似乎无法解除使用默认布局/故事板自动打开的键盘。

我保留了包含预览图像和UITextview的默认设计/布局(SLComposeServiceViewController),UITextview会自动聚焦,从而打开键盘。

通常这很好,但是如果你没有登录我的应用程序,我会显示一个UIAlertController,说你需要登录才能分享。问题是键盘会在警报的同时打开。

我已经在viewDidLoad,viewDidAppear和viewWillAppear中尝试了[self.view endEditing:YES];[self.textView resignFirstResponder];而没有运气。

2 个答案:

答案 0 :(得分:1)

找到答案!我没有仔细阅读文档...

我必须在[self.textView resignFirstResponder];

中进行-(void)presentationAnimationDidFinish

答案 1 :(得分:0)

我的方法是使用UITextViewDelegate

- (void)viewDidLoad {
     [super viewDidLoad];
     self.textView.delegate = self;
     self.canShare = NO;
     [self.view setAlpha:0.0];
}

在检查登录逻辑中将canShare更改为YES

- (void)checkLoggedIn {
    if ([[ShareAccountManager checkLoggedIn]) {
        self.canShare = YES;
        [self.view setAlpha:1.0];
    }
}

并实施方法textViewShouldBeginEditing

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
    if (self.canShare) {
        return YES;
    }
    return NO;
}