Where can I find a list of pushViewController tran

2019-09-09 15:13发布

问题:

Where can I find a list of transitions for bringing a new Viewcontroller onto the stack.

My line of code is:

[peoplePicker pushViewController:myDetail transition:6];

after selecting a contact. Where can I find a list of transitions, and why does "6" work correctly? Also I get a warning with this code saying it may not respond to transition, even though it produces the transition correctly. What is the proper way to do these animations?

Thanks,

回答1:

That method is a private method that isn't intended to be used by 3rd party developers.

The reason it works is because of Objective-C's dynamic design. While Apple can hide their methods in private categories, they can't prevent them from being called during runtime.

I assume you're getting a warning explaining that UINavigationController (or whatever the class is) may not respond to that method and will assume it returns (id) and takes ... as arguments. That is unless you've exposed the method yourself.

Either way, this will be caught by Apple during review and your app will very likely be rejected. Private API usage is forbidden by the terms of the SDK.



回答2:

I suspect that the exciting new types of transitions might come out as soon as 3.2 gets released. Or when 4.0 gets released, whenever that is. Until that time, I think you might be stuck with pushViewController:animated:. If you're looking for other ways to make views show up, you could use a modal view controller. Check out the UIViewController documentation and you'll see presentModalViewController:animated:.