iOS应用程序中的twitter segue转换问题

Posted

技术标签:

【中文标题】iOS应用程序中的twitter segue转换问题【英文标题】:twitter segue transition issue in iOS app 【发布时间】:2014-12-13 07:16:40 【问题描述】:

我正在将 Twitter 应用程序集成到我的 ios 应用程序中。问题是在成功登录后,应该将控制权交给特定视图控制器的 segue,返回到我的登录页面,而不是返回到所需的视图控制器。 segue 已经执行,我可以在我的输出控制台中看到它。另外有线的事情是,当我单击登录页面上的推文按钮时,segue 终于在视觉上第二次执行了。

我的微博登录方法如下:

 - (IBAction)tweetbutton:(id)sender 

     [SCTwitter initWithConsumerKey:@"your_consumer_key" consumerSecret:@"your_consumer_secret"];    
     [SCTwitter loginViewControler:self callback:^(BOOL success)
                 NSLog(@"Login is Success -  %i", success);
                 if (success) 
                    [self performSegueWithIdentifier:@"authentication" sender:self];
                 
      ];
 

 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

   NSLog(@"prepareForSegue: %@", segue.identifier);
 

控制台的输出是:

2014-12-10 23:54:16.923 gems[1300:60b] Login is Success -  1
2014-12-10 23:54:16.946 gems[1300:60b] prepareForSegue: authentication

我不明白我哪里错了,为什么 segue 没有在登录成功时自动执行。请提出一个合适的解决方案,以便直接自动转换到特定的视图控制器,而无需再次返回登录页面,并且据您所知,我使用的是普通视图控制器而不是导航控制器。

提前致谢。任何帮助将不胜感激。

【问题讨论】:

尝试在 tweetbutton 方法中仅使用 performSegueWithIdentifier 行。删除所有其他并检查其是否导航到下一个视图。 我怀疑您是否已经连接了按钮单击的 segue,而且您还手动通过代码重定向到该屏幕... 同意@Leena,这就是为什么我要求检查导航是否正常工作。如果不是,那么问题出在故事板连接中。 谢谢大家的回复。我考虑了你的建议。正如 murnal 所说,segue 在按钮单击时执行,删除了其他所有内容。但我希望在成功登录后连续执行 segue。所以我怀疑 segue 在推文按钮中的位置是否有问题。所以请告诉我执行 segue 的正确位置,而且我正在使用 SCTwitter 和 twitter+oauth 框架。请大家再次仔细阅读我的帖子。因为你们误解了我的问题。 【参考方案1】:

使用 Swift 3:

viewDidLoad() 中使用它:

Twitter.sharedInstance().logIn  (session, error) in
            if error == nil 
                performSegue(withIdentifier: "authentication", sender: self)
            
        

【讨论】:

以上是关于iOS应用程序中的twitter segue转换问题的主要内容,如果未能解决你的问题,请参考以下文章

IOS/Objective-C:在没有 Storyboard Segue 的情况下可以在模态转换中使用自定义 Segue?

转换为使用 iOS 8 Popover Segues 时 UISplitViewController 崩溃

iOS 7 导航栏在翻转水平 Segue 上跳转

iOS 开发:通过按下警报中的按钮进行 Segue?

IOS。 segue.destinationViewController 对象与加载的Controller不同

带有完成块和属性的自定义 segue 转换