2013-10-29 81 views
0

在我的应用程序中,我通过Twitter进行注册。所以用户可以通过twitter注册到我的应用程序。如果用户未在设置中设置帐户,我想显示Alertview。因此用户可以导航到添加Twitter帐户的设置。我也不想显示与SLComposeViewController出现的键盘。此我用下面的代码在ios7隐藏键盘

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

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

    }]; 

在iOS6的上述代码隐藏SLComposeViewController &键盘&显示alertView该用户不具有Twitter帐户。点击alertView的设置按钮后,它将导航到手机中的设置。

但在iOS7,上面的代码显示键盘&不导航到 设置点击设置按钮后。

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

回答

3

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

SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter] 

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

用于显示与设置选项alertView我提出tweetSheet,如果用户已经没有添加任何帐户,那么就说明alertView随着设置选项。因为它是alertView它不会输入completion(completion:^{ })区域,直到我们按下alertView的任何按钮。一旦你按任何按钮,然后它进入completion区&它驳回tweetSheet这就是为什么它不显示键盘。

+1

无法看到最新iOS版本7.1.1中的弹出窗口 – MadhuP

0

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