在我的应用程序中,我正在通过Twitter进行注册。因此用户可以通过Twitter注册到我的应用中。如果用户尚未在设置中设置帐户,我想显示Alertview。因此用户可以导航到用于添加推特帐户的设置。我也不想显示与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。不同版本中的不同行为

最佳答案

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

SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]

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


用于显示带有设置选项的alertView我介绍了tweetSheet,如果用户尚未添加任何帐户,则显示带有设置选项的alertView。因为它是alertView,所以在我们按alertView的任何按钮之前,它不会输入completion (completion:^{ })区域。一旦按下任何人按钮,它就会进入completion区域并关闭tweetSheet,这就是为什么它不显示键盘的原因。

关于ios - 在ios7中隐藏键盘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19651296/

10-12 04:30