2014-11-04 77 views
2

我想創建一個「時間軸」視圖。我很熟悉GraphicsContext繪圖API,並在drawRect:方法中使用它。我不清楚的是讓這個視圖可以滾動/可縮放的正確/習慣用法。如何實現可滾動/可縮放的自定義UIView?

a)子類UIScrollView或b)將我的自定義視圖嵌入故事板中的股票UIScrollView更常見?

根據我的使用情況,我如何向滾動機械傳達我的「期望範圍」?我該如何讓我的繪圖代碼知道當前的比例/卷軸是什麼,以便我可以適當地繪製。

(我做了谷歌這一點,並沒有發現任何最近的和簡單的食譜爲這個)

回答

1

不要繼承或嵌入。將UIScrollView設置爲您的視圖控制器的出口。 UIScrollView繼承自UIView,因此您可以像處理視圖控制器的普通UIView出口一樣對待它,此外還可以滾動它。

+0

對不起,但我並不真正瞭解你的建議。 – 2014-11-04 19:18:14

+1

每個UIViewController或其子類都有一個視圖,所以你可以通過輸入self.view 訪問它。Set self.view = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 如果要在界面構建器中執行此操作,請將UIScrollView拖動到屏幕上,並刪除爲您創建的UIView,並將其從視圖控制器的視圖出口拖到您添加的新UIScrollView。 – 2014-11-04 19:21:32

+1

基本上,您可以用UIScrollView替換任何UIView,就像用UITableView替換任何UIView一樣。實際上,UITableView繼承自UIScrollView,因此UITableView將響應UIScrollView將響應的任何選擇器,並且UIScrollView將響應UIView響應的任何選擇器。 – 2014-11-04 19:27:18