Trong ViewController.m
, trên iPad, nếu chúng ta in ra chiều cao khung của view trong một xử lý sự kiện tap:Trên iOS, tại sao chiều cao của khung của khung nhìn vẫn gần như giống nhau sau khi xoay?
NSLog(@"Height of main view is %f", self.view.frame.size.height);
sau đó trong chế độ chân dung, giá trị là 1004 (20 pixel camera cho dòng trạng thái thiết bị, vì vậy 1024 - 20 = 1004) và nếu thiết bị được xoay sang chế độ ngang, tôi dự kiến là khoảng 768 hoặc 748 nhưng giá trị được in thực tế là 1024. (cập nhật: nếu ứng dụng được khởi động ở chế độ ngang, sau đó không có xoay vòng, nó cũng được in dưới dạng 1024). Tại sao điều đó có thể xảy ra và có quy tắc nào để mong đợi nhận được giá trị 748 hoặc 768 không? (Có nhiều cách để có được điều đó không?)
Chỉ cần chắc chắn, là bạn [ 'autoresizingMask'] (http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview. Thuộc tính html # // apple_ref/occ/instp/UIView/autoresizingMask) được đặt đúng với cờ 'UIViewAutoresizingFlexibleHeight'? – psycho
Tôi đã sử dụng cửa sổ 'UIWindow * = [[[[UIApplication sharedApplication] delegate] window]; window.autoresizingMask | = UIViewAutoresizingFlexibleHeight; self.view.autoresizingMask | = UIViewAutoresizingFlexibleHeight; 'trong phương thức' viewDidLoad' và được biên dịch và xoay vài lần và chiều cao vẫn xuất hiện là 1024 –
Hmm .. Nếu bạn đính kèm nhãn hoặc thứ gì đó trong tầm nhìn của bạn, ở chính dưới cùng của chế độ xem ở chế độ dọc, nó vẫn có thể xem được ở chế độ ngang không? (Nếu có, không có ý tưởng nào khác: /) – psycho