在ios7中隐藏键盘

时间:2013-10-29 06:34:25

标签: ios iphone twitter ios6 ios7

在我的应用程序中,我正在通过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。不同版本中的不同行为

2 个答案:

答案 0 :(得分:3)

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

SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]

       [self presentViewController:tweetSheet animated:NO completion:^{
           [self dismissModalViewControllerAnimated:NO];
    }];

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

答案 1 :(得分:0)

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