ios - pushviewcontroller 在 ios7 中不起作用
<p><p>第一次 VC1 到 VC2 工作正常。从 VC2 到 VC3 在 ios7 中不工作。</p>
<p>VC1->VC2(工作正常)</p>
<pre><code>- (IBAction)loginBtnAction:(id)sender
{
GVMainViewController *mainView;
if ([ userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
mainView = [ initWithNibName:@"GVMainViewController_iPhone" bundle:nil];
} else
{
mainView = [ initWithNibName:@"GVMainViewController_iPad" bundle:nil] ;
}
;
}
</code></pre>
<p>VC2->VC3(不工作)</p>
<pre><code>- (IBAction)doneButtonAction:(id)sender
{
[updateProfileInfo];
;
}
- (void)moveTo
{
GVMainViewController *mainView;
if ([ userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
mainView = [ initWithNibName:@"GVMainViewController_iPhone" bundle:nil];
} else
{
mainView = [ initWithNibName:@"GVMainViewController_iPad" bundle:nil] ;
}
;
}
</code></pre>
<p>并且还获得了一些日志<strong>在意外状态下完成了导航转换。导航栏 subview 树可能会损坏。</strong>在所有 iOS 版本中,但在 ios7 中它不会推送 ViewController 。</p>
<p>请任何人告诉我iOS7及更低版本的解决方案。提前致谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>mainView 应该在 performSelector 启动后台线程时被推送到主线程。</p>
<pre><code>- (void)moveTo
{
GVMainViewController *mainView;
if ([ userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
mainView = [ initWithNibName:@"GVMainViewController_iPhone" bundle:nil];
}
else
{
mainView = [ initWithNibName:@"GVMainViewController_iPad" bundle:nil] ;
}
dispatch_async(dispatch_get_main_queue(), ^{
;
});
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - pushviewcontroller 在 ios7 中不起作用,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/20959827/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/20959827/
</a>
</p>
页:
[1]