【问题标题】:iOS share extension dismiss keyboardiOS 共享扩展关闭键盘
【发布时间】:2015-01-23 16:41:30
【问题描述】:

我正在为我的应用程序实现一个共享扩展,到目前为止一切都很好,只是我似乎无法关闭使用默认布局/故事板自动打开的键盘。

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

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

我在 viewDidLoad、viewDidAppear 和 viewWillAppear 中都尝试了 [self.view endEditing:YES];[self.textView resignFirstResponder];,但没有成功。

【问题讨论】:

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


    【解决方案1】:

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

    我必须在-(void)presentationAnimationDidFinish 中做[self.textView resignFirstResponder];

    【讨论】:

      【解决方案2】:

      我的方法是使用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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 1970-01-01
        相关资源
        最近更新 更多