【问题标题】:Where can I find a list of pushViewController transitions?我在哪里可以找到 pushViewController 转换的列表?
【发布时间】:2011-01-29 02:54:50
【问题描述】:
我在哪里可以找到将新 Viewcontroller 放入堆栈的转换列表。
我的代码行是:
[peoplePicker pushViewController:myDetail transition:6];
选择联系人后。我在哪里可以找到转换列表,为什么“6”可以正常工作?
此外,我收到此代码的警告,说它可能无法响应转换,即使它正确产生了转换。制作这些动画的正确方法是什么?
谢谢,
【问题讨论】:
标签:
iphone
iphone-sdk-3.0
uinavigationcontroller
transitions
【解决方案1】:
该方法是私有方法,不打算由 3rd 方开发人员使用。
它之所以有效是因为 Objective-C 的动态设计。虽然 Apple 可以将它们的方法隐藏在私有类别中,但它们无法阻止它们在运行时被调用。
我假设您收到警告,说明 UINavigationController(或任何类)可能不会响应该方法,并会假定它返回 (id) 并将 ... 作为参数。除非您自己公开了该方法。
无论哪种方式,这都会被 Apple 在审核期间发现,您的应用很可能会被拒绝。 SDK 条款禁止使用私有 API。
【解决方案2】:
我怀疑,一旦 3.2 发布,令人兴奋的新型转换可能会出现。或者当 4.0 发布时,无论何时。在那之前,我认为你可能会被 pushViewController:animated: 卡住。如果您正在寻找其他显示视图的方法,您可以使用模态视图控制器。查看 UIViewController 文档,您会看到 presentModalViewController:animated:。