Làm cách nào để thực hiện điều này, tất cả những gì tôi muốn làm là xoay một UIImageView
tùy thuộc vào hướng của iPhone.Xoay UIImageView Tùy thuộc vào định hướng của iPhone
8
A
Trả lời
18
Bạn có thể thực hiện việc này thông qua IB, để tải ứng dụng bằng chân dung và bố cục ngang hoặc bạn có thể làm theo cách lập trình. Đây là về cách lập trình.
Để nhận thông báo về việc thay đổi định hướng, sử dụng
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(orientationChanged)
name:UIDeviceOrientationDidChangeNotification
object:nil];
và thêm một chức năng như thế này (lưu ý đây là copypasted từ một dự án và rất nhiều dòng còn lại ra ngoài, bạn sẽ cần phải điều chỉnh chuyển đổi với tình hình cụ thể của bạn)
-(void)orientationChanged
{
UIDeviceOrientation o = [UIDevice currentDevice].orientation;
CGFloat angle = 0;
if (o == UIDeviceOrientationLandscapeLeft) angle = M_PI_2;
else if (o == UIDeviceOrientationLandscapeRight) angle = -M_PI_2;
else if (o == UIDeviceOrientationPortraitUpsideDown) angle = M_PI;
[UIView beginAnimations:@"rotate" context:nil];
[UIView setAnimationDuration:0.7];
self.rotateView.transform = CGAffineTransformRotate(
CGAffineTransformMakeTranslation(
160.0f-self.rotateView.center.x,
240.0f-self.rotateView.center.y
),angle);
[UIView commitAnimations];
}
Khi bạn đã hoàn tất, ngăn chặn các thông báo như sau:
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] removeObserver:self];
Các vấn đề liên quan
- 1. iphone xoay UIImageView
- 2. IOS: xoay một UIImageView
- 3. Xoay UIImageView theo chiều kim đồng hồ
- 4. iOS CAKeyframeChế độ xoay vòngMode trên UIImageView
- 5. Xoay hình ảnh trong UIImageView
- 6. contentOffset in UIScrollView sau khi xoay của iPhone
- 7. (iphone) UIImageView setImage: rò rỉ?
- 8. iphone - một UIImage nhiều UIImageView?
- 9. iPhone: CALayer + xoay trong 3D + antialias?
- 10. Thay đổi chiều cao của chế độ xem đầu vào tùy chỉnh khi thiết bị xoay
- 11. Thay đổi hoặc tắt hoạt ảnh xoay của iPhone khi thay đổi hướng
- 12. Hoạt ảnh "Wobbly" trên iPhone UiImageView
- 13. UIImageView điền vào UIView
- 14. Thêm UILabel vào UIImageView
- 15. Cách đặt lại thuộc tính biến đổi UIImageView
- 16. Định dạng ngày và giờ tùy thuộc vào ngôn ngữ
- 17. Xử lý định hướng iphone/ipad
- 18. UIScrollView với UIImageView xoay vòng giữa khi thu phóng?
- 19. Xoay iPhone và khởi tạo UIViewController mới?
- 20. thêm UIImageView bao gồm thanh điều hướng
- 21. Ẩn Thanh Điều hướng khi xoay
- 22. Đặt thuộc tính hình ảnh của UIImageView gây lag lớn
- 23. Nginx proxy hoặc viết lại tùy thuộc vào user agent
- 24. Cài đặt thuộc tính tùy thuộc vào điều khiển tùy chỉnh của WinRT/Binding
- 25. Làm thế nào để định hướng hiện tại của chế độ xem của iPhone hoặc định hướng cuối cùng của thiết bị?
- 26. Xoay UITableViewCell tùy chỉnh
- 27. Các sự cố khi làm mờ UIImageView trên iPhone
- 28. Hướng la bàn khác nhau tùy theo hướng điện thoại
- 29. Cách xoay trục lược đồ thuộc tính-giá trị của thuộc tính MySQL
- 30. Xác định hướng dọc của một touchmove
Hmm, điều này dường như không làm việc hoàn hảo cho tôi vì nó sẽ không xoay chỉ UIImageView/UIView mà là bên trong một UIView. Thay vào đó, nó xoay toàn bộ UIView không chỉ là chế độ xem phụ. – Joshua
sau đó thực hiện 'self.rotateView' chỉ là chế độ xem phụ bạn muốn xoay. – mvds
bạn nên sử dụng 'M_PI_2' thay vì' M_PI/2.0f' –