nềnSử dụng nhiều tệp nib với một bộ điều khiển chế độ xem đơn?
Tôi đang sử dụng giao diện người xây dựng để tạo ra các giao diện người dùng cho một ứng dụng tôi đang làm việc trên. Ứng dụng này có một màn hình hiển thị một loạt các nút. Nhấp vào nút sẽ hiển thị chế độ xem được liên kết phủ lên các nút. Nhấp vào nút khác sẽ ẩn chế độ xem lớp phủ trước đó và hiển thị một chế độ xem khác.
Quá quản lý giao diện người dùng dễ dàng hơn trong IB Tôi đã quyết định tạo nhiều tệp nib cho mỗi chế độ xem phụ sẽ xuất hiện khi nhấp vào nút có liên quan. Sau đó, tôi tải tệp nib của chế độ xem phụ trong phương thức viewDidLoad
của trình điều khiển chế độ xem bằng cách sử dụng lớp UINib
.
Ý tưởng đằng sau điều này là để tránh việc có nhiều chế độ xem xếp chồng lên nhau trong một tệp nib đơn lẻ vì điều này sẽ khó thao tác trong IB. Tôi có thể đã tạo ra tất cả các khung nhìn trong mã nhưng điều này đòi hỏi rất nhiều mã tẻ nhạt khi bố trí của mỗi khung nhìn con là khá phức tạp (với nhiều khung nhìn con).
Mã mẫu tải chế độ xem phụ từ tệp nib.
- (void)viewDidLoad
{
UINib *aSubViewNib = [UINib nibWithNibName:@"aSubView" bundle:nil];
NSArray *bundleObjects = [aSubViewNib instantiateWithOwner:self options:nil];
// get root view from bundle array
UIView *aSubView = [bundleObjects objectAtIndex:0];
[self.view addSubview:aSubView];
...
Đoạn mã trên được lặp lại cho các chế độ xem khác.
Để tóm tắt tôi có một ứng dụng iPhone màn hình duy nhất có chế độ xem lớp được hiển thị/ẩn bằng cách nhấp vào nút. Điều này đạt được với một bộ điều khiển xem đơn với một tệp nib liên quan và một loạt các tệp nib bổ sung cho các khung nhìn con được tải trong phương thức viewDidLoad của trình điều khiển xem.
Câu hỏi!
Xin lỗi vì đã giới thiệu dài nhưng tôi muốn rất rõ ràng tôi đang làm gì.
- Phương pháp tiếp cận của tôi có tệ hay không?
- Có bất kỳ vấn đề tiềm năng nào để thực hiện theo cách này không?
- Những người khác đã làm gì khi cần giao diện động và vẫn muốn giữ mọi thứ trong Trình tạo giao diện?
Ghi chú
Trước khi có ai hỏi tại sao tôi không chỉ hiển thị các quan điểm phụ trên một màn hình mới và sử dụng thanh điều hướng, hãy để tôi nói rằng tôi có lý do rất tốt và tôi hiểu iOS Hướng dẫn giao diện người dùng. Trường hợp sử dụng ở trên không chính xác là trường hợp sử dụng của tôi, nhưng đó là trường hợp mô tả rõ ràng vấn đề mà không bị sa lầy trong ứng dụng phát triển của tôi. Ngoài ra tôi biết tôi có thể viết tất cả các khung nhìn con dưới dạng mã nhưng mỗi khung nhìn phụ có bố cục phức tạp của các khung nhìn con và nó sẽ có nhiều mã và làm rối tung xung quanh để thử và làm cho chúng trông đúng.
Cảm ơn bạn trước.
Vì vậy, đối với trường hợp sử dụng của tôi, lý do duy nhất tôi chia các quan điểm thành các tệp nib riêng biệt là giúp quản lý các khung nhìn đó dễ dàng hơn trong IB, bạn có nghĩ cách tiếp cận của tôi là an toàn để sử dụng hay không? – Camsoft
Không có quy tắc hoặc hướng dẫn về những gì bạn đang làm. Bạn đang tốt trong vấn đề đó. – Jim
Tôi đã thêm một ví dụ về một thành phần phần mềm thực mà nhiều nhà phát triển sử dụng. Xem câu trả lời của tôi ở trên để biết thêm chi tiết. – Jim