2009-07-20 32 views
22

Ok vì vậy tôi thực sự mới phát triển iphone và tôi đã nhận khá xa cho kiến ​​thức của tôi. Tôi chỉ cần giúp đỡ quyết định làm thế nào để chương trình những hình ảnh 4-6 vào dự án của tôi.UIView vs UIViewController

Tôi về cơ bản muốn tạo một cuốn truyện tranh với người dùng có thể vuốt từ ảnh này sang ảnh khác. Tất cả các hình ảnh này có nên ở UIVIEW hoặc UIViewController không?

và mọi mẹo về cách kết nối những ảnh này để tôi có thể thêm mã để liên lạc sẽ thật tuyệt vời!

Trả lời

41

UIViewController không thể hiển thị bất kỳ thứ gì; nó chỉ đơn giản là phối hợp hiển thị của một UIView. Vì vậy, các hình ảnh thực tế sẽ cần phải được thực hiện trong một UIView. Ngoài ra, UIView của bạn chịu trách nhiệm nhận ra các chạm, cử chỉ, v.v. Đó là nơi kết thúc, mặc dù; các phản ứng thực tế của chương trình của bạn nên được lên đến UIViewController.

Nói cách khác, bạn sẽ dạy một lớp con UIView cách nhận ra một swipe sang trái hoặc phải, và một khi nó đã quyết định rằng một swipe đã diễn ra, nó sẽ thông báo cho lớp con UIViewController của sự kiện đó. Bộ điều khiển sau đó sẽ quyết định hình ảnh nào sẽ được hiển thị tiếp theo và cho biết chế độ xem để thiết lập nó.

Đây là một phần của mẫu Model-View-Controller. Đó là một mẫu nổi tiếng và được sử dụng rộng rãi trong phát triển iPhone, vì vậy bạn sẽ được phục vụ tốt để đọc lên trên đó.

4

Bạn sẽ sử dụng cả hai. Phát triển Cocoa Touch tuân theo phương pháp MVC (Model, View, Controller). Đó là một cách tách logic mã và các phần tử giao diện người dùng. UIView là nơi bạn xử lý những gì nó trông giống như, UIViewController là lớp nơi bạn xử lý các sự kiện. Nếu bạn muốn cách dễ nhất để vuốt qua nhiều trang nội dung, hãy nhìn vào UIPageControl.

4

Những hình ảnh cần phải được thêm vào (thông qua addSubview) cho một đối tượng UIView hoặc một đối tượng subclassed từ UIView như UIControl, UIScrollView vv

có thể bạn không cần phải tạo ra một lớp quan điểm của riêng mình, ví dụ: MyView. Tôi đã thấy rằng lý do thực sự duy nhất để tạo chế độ xem tùy chỉnh là hiệu quả hoặc cho nội dung động như văn bản hoặc hình ảnh di chuyển xung quanh trong chế độ xem. Nếu bạn không có kế hoạch thực hiện hàm drawRect, đừng bận tâm với chế độ xem tùy chỉnh.

Bạn sẽ muốn phân lớp UIViewController. Nó sẽ quản lý hành vi của chế độ xem của bạn và thường là nơi tốt nhất để tạo chế độ xem mà nó kiểm soát.

UIPageControl có lẽ là cách dễ nhất để thực hiện hành vi vuốt, nhưng có thể khó khăn - đọc kỹ tài liệu.

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