2015-01-15 23 views
8

Tôi đang sử dụng chế độ xem chia nhỏ trong một ứng dụng iOS, iOS 8 ở dạng chuẩn. (Khi iPad nằm ngang nó hiển thị cả khung nhìn chính và chi tiết; khi bức chân dung hiển thị khung nhìn chi tiết toàn màn hình với chế độ xem chính xuất hiện từ bên trái.) Cả chế độ xem chính và chi tiết là bộ điều khiển chế độ xem điều hướng một bộ điều khiển xem bảng. Các lựa chọn trong bảng của chế độ xem chính sẽ thay đổi chế độ xem chi tiết. Đây là tất cả được thiết lập và hoạt động chính xác.Hiển thị hoạt ảnh/ẩn chế độ xem chính trong UISplitViewController trong iOS 8

Tuy nhiên, điều tôi muốn làm là khi chọn hướng dọc theo hướng dọc được thực hiện trong bảng của chế độ xem chính, chế độ xem chính sẽ tắt trên màn hình. Thứ hai, nếu lựa chọn chưa được thực hiện trong bảng của chế độ xem chính khi khởi động ở chế độ dọc, tôi muốn tạo hiệu ứng chế độ xem chính thành chế độ xem.

Mọi hướng dẫn đều được đánh giá cao.

Trả lời

18

Câu trả lời là tạo hiệu ứng cho thuộc tính ưa thíchDisplayMode. Để hiển thị mã là:

if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) { 
    [UIView animateWithDuration:ANIMATION_LENGTH animations:^{ 
    self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryOverlay; 
    } completion:^(BOOL finished) { 
    self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic; 
    }]; 
} 

và giấu mã là:

if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) { 
    [UIView animateWithDuration:ANIMATION_LENGTH animations:^{ 
    self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden; 
    } completion:^(BOOL finished) { 
    self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic; 
    }]; 
} 

Tôi đặt nó trở lại tự động trong việc hoàn thành nên bộ điều khiển phân chia xem có thể làm được điều bình thường của nó sau khi hình ảnh động là hoàn thành. Tôi cũng thêm boolean khác vào chương trình để tôi chỉ hiển thị nó nếu mục chi tiết của tôi chưa được đặt nhưng tôi đã xóa nó khỏi mã ở trên vì điều này cụ thể cho mã của riêng bạn.

+0

Chính xác những gì tôi đang tìm kiếm, nhưng tôi phải xóa bit hoàn thành nếu không nó sẽ chỉ trở lại chế độ hiển thị chính một lần nữa. – trapper

+0

Trong Xcode 7.3, '[UIDevice currentDevice] .ororation' đang đưa ra một thông báo lỗi. Tôi đề xuất chỉnh sửa để thay đổi những lần xuất hiện đó thành '[UIApplication sharedApplication] .statusBarOrientation'? – David

+0

Ngoài ra, hoạt ảnh này hiện đang gây ra hoạt ảnh không mong muốn của chế độ xem bảng chi tiết. – David

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