2

我有一个 iPhone 应用程序(向日历添加提醒),其中首选项屏幕通过以下代码显示:

-(IBAction) showPreferences {   
    preferencesViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;
    [self presentModalViewController:preferencesViewController animated:YES];
}

这会卷回“主”屏幕以显示首选项视图控制器,如下所示:

这个截图

主视图控制器和首选项视图控制器都通过 XIB 布局。

问题是任何和所有输入元素(UISegmentedControls、UIButtons 等)在第一次呈现视图时都会“动画化”——它们从左到右“增长”。(您可以通过安装应用程序看到这一点- 为插件道歉)。随后返回此屏幕不会出现此问题。

如果我传入动画:否,则不会显示preferencesViewController - 为了让它出现,我也必须省略modalTransitionStyle,当我这样做时,从一个屏幕到另一个屏幕的过渡非常不和谐。

这不是一个交易破坏者,但它一直困扰着我 - 有什么办法可以“强制”我的 XIB 中元素的初始位置并防止它们被“动画化”,同时仍然获得好处带有精美页面卷曲的动画模式视图控制器?

4

1 回答 1

2

已经在这里回答了

您需要在动画开始之前强制执行视图布局。这可能是一个错误;归档那些雷达!

于 2012-07-09T04:10:28.520 回答