【问题标题】:hide keyboard in ios7ios7隐藏键盘
【发布时间】:2013-11-08 04:46:57
【问题描述】:

在我的应用程序中,我正在通过 Twitter 进行注册。因此用户可以通过 twitter 注册到我的应用程序。如果用户没有在设置中设置帐户,我想显示 Alertview。因此用户可以导航到添加 Twitter 帐户的设置。我也不想显示带有SLComposeViewController 的键盘。为此我使用了下面的代码

SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
    tweetSheet.view.hidden=TRUE;

    [self presentViewController:tweetSheet animated:NO completion:^{
        [tweetSheet.view endEditing:YES];

    }];

在 ios6 中,上面的代码隐藏了SLComposeViewController 和键盘并显示了用户没有 Twitter 帐户的 alertView。 & 点击 alertView 的设置按钮后,它会导航到手机中的设置。

但是在 iOS7 中,上面的代码显示了键盘并且没有导航到 点击设置按钮后进行设置。

所以我的问题是 - 为什么会发生这种情况。它适用于ios6,但不适用于ios7。不同版本的行为不同

【问题讨论】:

    标签: ios iphone twitter ios6 ios7


    【解决方案1】:

    是的,我解决了这个问题。见下面代码

    SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]
    
           [self presentViewController:tweetSheet animated:NO completion:^{
               [self dismissModalViewControllerAnimated:NO];
        }];
    

    为了显示带有设置选项的 alertView,我提供了 tweetSheet,如果用户尚未添加任何帐户,则它显示带有设置选项的 alertView。因为它是alertView 它不会进入completion(completion:^{ })area,直到我们按下alertView 的任何按钮。一旦你按下任何按钮,它就会进入completion 区域并关闭 tweetSheet,这就是它不显示键盘的原因。

    【讨论】:

    • 在最新的 iOS 版本 7.1.1 中看不到弹出窗口
    【解决方案2】:

    如果用户没有登录iOS 5.1以下的Facebook帐户,您可以通过在您的应用程序中按警报对话框按钮进入设置->Facebook。但我认为 Apple 在 iOS 6 或更高版本中已删除此功能。(与我相同的问题)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-17
      • 2010-10-01
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多