2012-07-25 86 views
0

我試圖構建一個可以添加到多個視圖的自定義,可重用的UIScrollView。滾動視圖將成爲一個重量選擇器。對於我的生活而言,我無法找到一個體面的例子來說明如何整潔或乾淨地實施。創建一個可以嵌入到另一個視圖中的UIScrollView

我很想有人指點我現有的庫或教程,告訴我如何做到這一點。我已經破解了一些例子,但到目前爲止,沒有什麼是很好或可重用的。請幫忙!!

對於它的價值,我有一個圖像,個人蜱的重量。所以我可以選擇數字的十分之一(例如160.4)。圖像的第一個勾號大於其餘9.我希望重量/數字位於大勾上。滾動停止後,我會將點更新到我的標籤/數據源。

UPDATE 我需要做到這一點。我有自定義字體,背景和股票圖像。

weight picker

+1

無法弄清楚你想實現什麼。發佈圖片 – 2012-07-25 21:22:36

+0

你想要的東西像convert.app?或者像老虎機採集器UI一樣? – nielsbot 2012-07-25 21:23:52

+0

爲什麼UIPickerView不適合你? – 2012-07-25 21:24:47

回答

1

如果我要實現這個,我會創建一個非常寬泛的圖像,它有我需要的每一個重量 - 我可能會在應用程序啓動時在代碼中創建它。這個圖像然後被用作你的選擇器的contentView。您可以「免費」獲得所有滾動功能,您甚至可以在滾動(或拖動)期間更新視圖其他部分顯示的值。

scrollView只是帶有刻度線和重量數字的區域,它位於背景上方的子視圖中,但位於顯示實際重量的居中垂直線下方。

編輯:關於第二個想法,忘記圖像。如果您有繪製圖像的代碼,則可以在自定義UIView中執行繪圖。所以你得到了draw rect,你知道contentOffset,所以你可以畫出你需要的東西。

2

我不會通過UIScrollView做到這一點。我認爲這會更復雜,當你試圖將自定義選擇器添加到另一個滾動視圖中時,你肯定會遇到問題。

我會做的是:

  1. 通過一系列的CALayers的方式構建選擇器視圖,每一個代表你的選擇器視圖的「積木」;見附圖圖像:

    enter image description here

  2. 每個積木將通過混合一個UILabel(文本)和圖像表示的特定值;

  3. 使用平移手勢識別器,或者可選地定義touchesBegin/Moved/Ended方法來處理平移;

  4. 當平移完成時,根據平移將視圖內容左移或右移;

  5. 平移的時候,你還可以添加新的積木拾取器的左邊或右邊結束,以說明將通過在點做4

我認爲位移透露空白區域看看另一種自定義的控制源代碼對你會有很大的幫助。你不可能發現你的自定義選取器已經實現,但可以得到一些指導。看看cocoa controls

希望這會有所幫助。

+0

我搜查了可可控件,但沒有找到現成的控件。我已經看遍了整個互聯網,UIScrollView的唯一優秀教程是圖片,縮放和滾動。 – 2012-07-26 13:59:24

相關問題