2010-05-07 30 views
5

Trong ứng dụng iPod trên iPhone, có một thanh công cụ UIBarButtonItem ở thanh công cụ phía trên bên phải lật giữa danh sách bài hát và bản nhạc cho album. Khi bạn chọn nút, chính nút đó sẽ làm hoạt ảnh lật.Làm thế nào để bạn thực hiện hoạt ảnh lật UIBarButtonItem?

Có cách nào để làm điều này với:

 
CGContextRef context = UIGraphicsGetCurrentContext(); 
[UIView beginAnimations:nil context:context]; 

[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:[self superview] cache:YES]; 

Tôi có cần phải thực hiện một UIBarButtonItem với initWithCustomView vs initWithImage để đạt được điều này?

Trả lời

8

UIBarButtonItem không phải là con của bất kỳ lớp UIView nào, do đó không thể hoạt ảnh. Những hình ảnh động như vậy (như bản đồ Apple hay iPod) có lẽ là các API riêng tư.

Tuy nhiên, giải pháp thay thế thô này là tạo UIBarButtonItem bằng initWithCustomView, sau đó tạo hiệu ứng lật bên trong chế độ xem đó. Tuy nhiên, điều này có thể khá cồng kềnh - bạn sẽ cần phải cung cấp đồ họa biên giới của riêng bạn cho nút.

Hy vọng điều này hữu ích, Paul

2

Tôi đã làm điều tương tự. Tôi có một UIBarButtonItem mà lật theo chiều ngang khi một trường văn bản đạt tiêu điểm. Để đạt được điều này, tôi đã sử dụng một nút với một tùy chỉnh UIView bên trong mà tôi đặt một thanh công cụ trong suốt có chứa mục nút thanh thực hiện của tôi.

Để lật các nút, tôi sử dụng các phương pháp transitionFromView:toView:options:completion: với thanh công cụ cũ và mới như từ và đến chế độ xem.

Đó là một chi phí bit, nhưng bạn có thể dính vào các nút thanh mặc định của Apple.

+0

+1 đây là một cách tuyệt vời cho phép bạn duy trì hệ điều hành l'n'f - tôi thích nó –

Các vấn đề liên quan