2009-07-20 79 views
22

好的,我真的很新的iphone開發,我已經得到了我的知識很遠。我只需要幫助決定如何將這些4-6幅圖片編入我的項目。UIView vs UIViewController

我基本上想製作一本漫畫書,用戶可以從一張圖片滑動到另一張圖片。所有這些圖片都應該放在UIVIEW還是UIViewController中?

以及關於連接這些圖片的任何提示,以便我可以添加代碼進行觸摸將會很棒!

回答

41

UIViewController無法顯示任何內容;它只是協調UIView的顯示。所以實際的圖片需要在UIView中完成。另外,你的UIView負責識別觸摸,手勢等。這就是它結束的地方;你的程序的實際反應應該由UIViewController決定。

換句話說,你會教一個UIView子類如何識別向左或向右滑動,一旦它確定發生了滑動,它會通知你的UIViewController子類的事件。然後控制器會決定接下來要顯示的圖像,並告訴視圖進行設置。

這是Model-View-Controller模式的一部分。這是iPhone開發中衆所周知和廣泛使用的模式,因此您可以很好地閱讀它。

4

您將使用兩者。 Cocoa Touch開發遵循MVC(模型,視圖,控制器)方法。它是分離代碼邏輯和用戶界面元素的一種方式。 UIView是你處理它看起來像的地方,UIViewController是你處理事件的類。如果您想要通過多頁內容輕鬆瀏覽,請查看UIPageControl。

4

的圖片需要(通過addSubview)被添加到一個UIView對象或子類從UIView的如UIControl,UIScrollView的物體等

你也許並不需要創建一個視圖類自己的,例如MyView。我發現創建自定義視圖的唯一真正原因是效率或高度動態的內容,例如文本或圖像在視圖中移動。如果你不打算實現drawRect函數,不要打擾自定義視圖。

想要UIViewController的子類。它將管理你的視圖的行爲,並且通常是組成它控制的視圖的最佳位置。

UIPageControl可能是實現滑動行爲的最簡單方法,但它可能非常棘手 - 仔細閱讀文檔。