2013-11-04 20 views
8

Tôi chỉ cần mở bộ điều khiển chế độ xem đầu tiên ở chế độ dọc. Khi phần còn lại xem bộ điều khiển sẽ sử dụng cả hai định hướng. Vì vậy, tôi đã thêm cả hai định hướng trong tập tin plist.iOS 7 - Giới hạn hướng ngang chỉ trong một bộ điều khiển chế độ xem

-(BOOL) shouldAutorotate { 
    //Never called 
} 

- (NSUInteger) supportedInterfaceOrientations { 
    //Never called 
} 

có thể bất kỳ một cho tôi biết làm thế nào để hạn chế

+1

bạn nên sử dụng bộ điều khiển điều hướng cho trường hợp của bạn – gaussblurinc

+0

@Nabeel, Bạn có câu trả lời cho câu hỏi của mình không. Nếu có, vui lòng chia sẻ –

+0

Tôi đã đăng giải pháp. –

Trả lời

10

cố định nó chỉ đơn giản bằng cách tạo lớp UINavigationController và trọng

-(NSUInteger)supportedInterfaceOrientations 
{ 
    AppDelegate *appDelegate = (AppDelegate *) [UIApplication sharedApplication].delegate; 
    if(appDelegate.isOrientationOn) { 
     return UIInterfaceOrientationMaskAll; 
    } 
    return UIInterfaceOrientationMaskPortrait; 
} 

Sử dụng lớp trình điều khiển điều hướng tùy chỉnh này trong cửa sổ gốc Đó là tất cả.

+1

appDelegate.isOrientationOn nghĩa là gì, nó đang đưa ra lỗi! – AsifHabib

+0

@AsifHabib đó là logic của bạn :) – onmyway133

+0

Giải pháp sạch, dễ dàng, hiệu quả. Mã hóa như một nghệ thuật! – user2260054

2

này sẽ khóa Định hướng Xem lý lịch thành điều khiển của bạn theo chiều Dọc Mode:

- (BOOL)shouldAutorotate 
{ 
    return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 
+0

Nhưng những phương pháp này không kêu gọi tải màn hình mới. –

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