Tôi có một tình huống, tôi đã tạo hai ngòi khác nhau, một ở Chế độ Chân dung và một ở chế độ Phong cảnh. Tôi đã có rất nhiều thiết kế trong quan điểm như vậy, tôi đã phải lựa chọn cho hai ngòi khác nhau. Bây giờ, tôi muốn chuyển đổi các ngòi như giao diện quay theoMuốn sử dụng các ngòi ngách cho các định hướng giao diện iphone khác nhau
viewController chung
để tôi có thể giữ lại các giá trị điền và trạng thái của các điều khiển tôi có trong giao diện.
Ngay bây giờ tôi đang sử dụng
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Override to allow orientations other than the default portrait orientation.
if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight){
[self initWithNibName:@"LandscapeNib" bundle:nil];
}else if(interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
[self initWithNibName:@"PortraitNib" bundle:nil];
}
return YES;
}
nhưng nó không làm thay đổi NIB, nó cho thấy ngòi tải ban đầu. Tôi có thể đoán nó đang tải nhưng không hiển thị vì nib ban đầu đã được hiển thị, không bị xóa. Tôi không thể tìm thấy giải pháp làm việc với nhiều ngòi với một bộ điều khiển xem phổ biến để tôi có thể dễ dàng xử lý các chức năng của các điều khiển?
Ngay cả khi điều này có thể hoạt động, tôi không khuyên bạn thay thế chế độ xem của bộ điều khiển. Nghe có vẻ bẩn thỉu, giới thiệu tình huống dễ vỡ, nơi nó trở nên dễ mắc lỗi trong việc giải phóng và giữ đồ vật đúng cách. – Michal
Trên thực tế, thay thế chế độ xem bộ điều khiển sẽ tốt hơn nhiều nếu người dùng dự kiến sẽ xoay thiết bị lần nữa. Nó không sử dụng nhiều bộ nhớ, cộng với việc quay sẽ nhanh hơn. Bên cạnh đó nếu cả hai khung nhìn là các đối tượng lớp, chúng có thể được deallocated và phát hành với bộ điều khiển khung nhìn. – MishieMoo