2011-11-20 31 views
11

Tôi đang sử dụng ví dụ từ câu hỏi này: How to combine UIScrollview with UIPagecontrol to show different views? để thêm UIScrollView chứa nhiều bản xem trước vào một trang trong ứng dụng iPad của tôi.Làm cách nào để thiết kế các bản xem phụ cho UIScrollView khi sử dụng bảng phân cảnh cho iOS5?

Ứng dụng của tôi có một chế độ xem lớn ở trên cùng rồi một hộp nhỏ ở dưới cùng. Hộp ở dưới cùng là UIScrollView; người dùng sẽ trượt sang trái và phải để hiển thị các hộp cho các chức năng khác nhau trong phần nhỏ đó. Chế độ xem lớn ở trên cùng không bao giờ thay đổi, vì vậy tôi không nghĩ phân đoạn phù hợp.

Tôi có bảng phân cảnh với một Chế độ xem bộ điều khiển chế độ xem duy nhất trong đó. Mặc dù tôi có thể thêm lượt xem vào trang này nhưng tôi không thể thiết kế chế độ xem 'tắt màn hình'; nói cách khác, không có nơi nào tôi có thể vẽ từng tiểu thuyết của mình. Tôi có thể làm cái này như thế nào? Tôi có cần phải tạo các XIB riêng biệt cho mỗi chế độ xem phụ không? Nếu vậy, làm cách nào để tải chúng vào? Hoặc, thay vào đó, tôi có nên làm cho chế độ xem cuộn của mình (subview width * subview count) rộng và vẽ từng chế độ xem liền kề với khung nhìn trước đó không? Đây là ứng dụng iOS đầu tiên của tôi vì vậy tôi có thể có một số điều ngược lại.

Cảm ơn

Tim

Trả lời

2

tôi cuối cùng đã phát hiện ra rằng tôi có thể tạo ra các subviews trong ngòi riêng biệt. Trong tiểu sử của NIB, tôi đã đặt danh tính của Chủ sở hữu tệp thành lớp của trình điều khiển chế độ xem chính của tôi và thêm lối thoát vào bộ điều khiển chế độ xem cho chế độ xem phụ. Sau đó tôi liên kết subview trong NIB với ổ cắm đó trong File's Owner.

Cuối cùng trong giao diện điều khiển chính của viewDidLoad Tôi gọi đây là cho mỗi subview NIB:

[[NSBundle mainBundle] loadNibNamed:@"MySubView" owner:self options:nil]; 
4

Tôi cũng phát hiện ra rằng, nhưng cuối cùng bạn bị mất mục đích viết kịch bản mà là để giới thiệu bạn với đầy đủ các dòng chảy của ứng dụng đồ họa của bạn. Những gì tôi thực sự cảm thấy thiếu ở đây là một đối tượng ca cao mới có nghĩa là khi được thêm vào bảng phân cảnh sẽ có sự chuyển tiếp riêng biệt của nó tương tự như UIToolBarController và UINavigationController nhưng sẽ bao gồm cả UIPageControl và UIScrollView cần thiết để tạo ra sự kỳ diệu.

6

Bảng phân cảnh hiện tại không lý tưởng để thực hiện việc này tuy nhiên bạn không nên sử dụng các tệp nib riêng biệt. Thay vào đó, bạn nên kéo các viewControllers khác và thiết lập từng khung nhìn của chúng theo yêu cầu. Bạn phải nhớ đặt số nhận dạng của bộ điều khiển chế độ xem trong trình tạo giao diện và sau đó bạn có thể tải chế độ xem như vậy,

UIStoryboard * storyboard = [UIStoryboard storyboardWithName: @ "MainStoryboard" bundle: nil]; UIViewController * myViewController = [storyboard instantiateViewControllerWithIdentifier: @ "MyViewControllerIdentifierInIB"];

Bây giờ bạn có bộ điều khiển chế độ xem, bạn có thể truy cập vào chế độ xem và thêm nó vào bất cứ nơi nào bạn muốn.

Lưu ý: Để thay đổi kích thước của chế độ xem, bạn sẽ phải chọn trình điều khiển chế độ xem và thay đổi Kích thước của nó trong trình kiểm tra thuộc tính trong trình tạo giao diện để tạo biểu mẫu. Sau đó, bạn sẽ có thể thay đổi kích thước của chế độ xem.

+0

Tôi không thấy Scott này, cảm ơn. Tôi muốn thử một cái gì đó như thế này hơn là sử dụng ngòi riêng biệt. Tôi sẽ cho nó đi. –

+5

"không lý tưởng" là một cách nói: AFAICS Storyboards tích cực ngăn chặn việc sử dụng UIScrollView với nội dung - tất cả các tính năng "cũ" của IB bị loại bỏ hoặc bị vô hiệu hóa bởi Apple. Ngón tay vượt qua Apple sửa lỗi này ngay – Adam

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