NGUI:UIScrollView

概觀:

一個裁切過的UIPanel 並不完整,除非他能夠像滾動視窗一樣能夠被四處拖曳,是吧?是的!

要讓Panel能夠滾動檢視只要簡短的三步驟:

  1. 首先,選擇你想要改成滾動檢視的panel,然後再Scene視窗中的任何地方按下右鍵,帶出右鍵選單,然後選擇Attach -> Scroll View。
  2. 現在你有一個滾動視窗了,藉由拖曳紫色把手來改變四邊大小,就像是改變widget的大小一樣。
  3. 最後的步驟是新增一個UIDragScrollView 腳本到最少一個碰撞器。再來一次,選擇該碰撞器,在scene視窗中按下右鍵,Attach -> Drag Scroll View(它會在最上面,如果你又照著前面步驟走的話)

注意,假如你有多個碰撞器,那麼你需要將Drag Scroll View腳本加到每一個使用者可以按下的碰撞器中。所以,舉個例子來說,假如你有一個像是Scroll View範例中的滾動視窗, 裡面有一個背景區塊,還有一串物件在裡面,你要把UIDragScrollView加到背景,以及每個子物件中。這個想法其實很簡單:每個能夠獲得事件的碰撞器都應該能夠拖曳滾動視窗。

注意一點,基於右鍵選單的方式,是內容敏感的,所以說假如你在一個不含有碰撞器的widget上按下右鍵,是無法看到drag scroll view選項的。

在scroll view腳本中有幾個選項可以讓你調整。第一個選項是Movement ,這能讓你選擇是要建立一個水平或是垂直拖曳的panel。你也可以選擇Unrestricted,這個選項讓你可以自由的拖曳內容。假入你要自訂移動,你可以選擇Custom 來設定X與Y的值。

下一個選項是Drag Effect ,當你在拖曳時,這個選項能控制scroll view的行為MomentumAndSpring 是預設的類似iOS的行為。

假如你像要讓滾動視窗能夠被滑鼠的滾動輪滾動,設定Scroll Wheel Factor的值。注意一點,你可以指定一個負值,像是-0.25,假如你像要滑鼠滾輪倒著捲動的話。

Momentum Amount控制當使用者拖曳丟出時滾動視窗的行為。調整這個值讓他更敏感或更不敏感,取決於你的意願。

Reset Positio當滾動視窗被程式重置位置時,滾動視窗的停止位置。這個值與內容的寬度與高度相關。當值是(0, 0)代表著左上角。假如你想要一個中間的重置點,你應該指定該值為(0.5,0.5)

在大部分的情況下,你會想要讓Restrict Within Panel 選項是開啟的。因為這樣可以避免你的滾動視窗內容離開了滾動視窗的範圍。如果你還沒猜到的話,滾動視窗內容的大小就是在scene視窗中以橘色畫出來的框框。

Cancel Drag If Fits選項可以避免內容離開邊界。假如這選項為off,這可能會讓拖曳時將內容拖到邊界外面,但這樣做會有可見的阻力。(維克:其實我不太知道這段在講啥,就我所知Cancel Drag If Fits這選項勾選時,如果內容大小不需要拖曳就能夠全部被顯示出來,那他就不能夠再被拖曳。)

Smooth Drag Start IOS Drag Emulation 選項更進一步的調整卷軸視窗的行為,在大部分的情況下,只要使用預設值就可以。

假如你有一個水平或是垂直的捲動條,你可以在適當的區域指定它們。一旦這樣做,你也可以藉由調整Show Scroll Bars選項來選擇當滾動條不在需要時,滾動條會發生的事。(維克:哪來的Show Scroll Bars 選項 ??)

侷限性:

滾動視窗只會裁切在它底下的widgets,假如你將scroll views變成巢狀,裁切部分並不會被巢狀,只有一個滾動視窗可以裁切其內容。

新手提示:

滾動條的Show Condition選項最好是使用預設的OnlyIfNeeded ,這樣你的滾動條就可以自動隱藏直到它們真的需要時才出現。

類別文件:

http://tasharen.com/ngui/docs/class_u_i_scroll_view.html

本頁面是翻譯官方網頁的文件:UIScrollView

教學影片:

老是忘記怎麼做 所以自己錄起來==",有個重點是 要注意碰撞器的大小,ALT+SHIFT+C 會自動加入並且大小會自動變更。

不是你喇叭壞掉,是我不好意思對著電腦說話 =="。

 
 

  按個讚!~支持本站!~

FB推薦載入中