ios - UIViewController presentViewController modal在iOS7中没有动画
<p><p>调用 <code>presentViewController:animated:completion:</code> 在 iOS7 中没有动画效果。 View 立即出现。动画在 iOS8 中正常工作。当前方法在我的应用程序的三个不同位置调用,它们都显示此行为。它发生在设备和模拟器上。</p>
<p>随后对 <code>dismissViewControllerAnimated:completion:</code> 的调用可在所有 iOS 版本中正确设置动画。 </p>
<h2>代码结构</h2>
<p>调用本方法的 ViewController 是<code>UINavigationController</code>的 Root ViewController ,而这个导航 Controller 是<code>UITabBarController</code>中的<code>viewControllers</code>之一</code>。 </p>
<p>每个调用都很简单,只需按一下按钮即可触发。这是其中一种情况:</p>
<p><code>GenreViewController *controller = [ init];
[ self presentViewController: Controller 动画:是完成:无];
</code></p>
<h2>尝试修复</h2>
<ul>
<li>显式调度到主线程</li>
<li>在演示前调用<code></code></li>
<li>添加显示 Controller 的延迟(只是为了看看会发生什么)</li>
</ul>
<p>在每种情况下,行为都没有改变。<br/>
任何帮助将不胜感激!</p>
<h1>更新 - 修复</h1>
<p>事实证明,<code>UITabBarController</code> 的 <code>modalPresentationStyle</code> 属性设置为 <code>UIModalPresentationCurrentContext</code>。这在 iOS7 中不会动画,您必须使用 <code>UIModalPresentationFullScreen</code> 的演示样式。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>你可以用这个</p>
<pre><code> GenreViewController *addController = [
init];
UINavigationController *navigationController = [
initWithRootViewController:addController];
;
</code></pre></p>
<p style="font-size: 20px;">关于ios - UIViewController presentViewController modal在iOS7中没有动画,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31160738/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31160738/
</a>
</p>
页:
[1]