4

我正在使用模式视图控制器来允许用户选择地址簿条目和电子邮件地址。该ABPeoplePickerNavigationController对象通过以下方式显示presentModalViewController:animated

[self presentModalViewController:picker animated:YES];

我想要做的是保持模式对话框,但是当用户选择电子邮件地址时,它应该交叉淡入淡出到显示消息撰写窗口的不同控制器。

我尝试了各种方法peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:来关闭选择器并将我的自定义组合控制器设置为模态视图。我可以通过多种方式做到这一点,但它永远不会从选取器平滑地淡出到合成控制器——除非我将合成控制器设为选取器的模态对话框,在这种情况下,当我关闭合成时选取器会重新出现控制器。我也不想这样。

必须有某种方法可以将一个控制器及其视图平滑地替换为另一个控制器及其视图,所有这些都在模态对话框的上下文中,最好使用交叉淡入淡出。建议非常感谢。

4

1 回答 1

1

将合成控制器添加为选择器的子视图。将其 alpha 设置为 0,使其透明。然后使用动画块逐渐将其 alpha 设置为完整:

// Initially set alpha to 0    
[myCompositionView setAlpha:0];

// Later when you want to show the view, animate the alpha to 1.0
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[myCompositionView setAlpha:1.0];
[UIView commitAnimations];
于 2010-03-29T07:54:25.283 回答