NGUI -- Scroll View

注意:本文翻譯時NGUI版本已經更新到3.0.7

原文地址:http://www.tasharen.com/forum/index.php?topic=6729



概覽

一個被裁剪的UIPanel是不完整的,除非它能像滾動視圖那樣被拖動是吧?沒錯!


只需要簡短的三步,就能把panel轉化爲滾動視圖:

  1. 首先,選擇你想擁有滾動視圖的Panel,然後在場景視圖中右鍵打開菜單,選擇Attach->Scroll View。(檢查Panel的“Clipping”,確保其值爲“Soft Clip”)
  2. 現在你已經有了一個滾動視圖,選擇它的通過拖動紫色的手柄來選擇它的矩形就像你選擇掛件的矩形一樣。
  3. 最後一步是增加一個UIDragScrollView到最少一個碰撞器上。同樣的,選擇碰撞器,在場景視圖中右鍵,Attack-> Drag Scroll View


注意,如果你不止有一個碰撞器,那麼你需要每個都加“Drag Scroll View”以便它們能用於拖動面板。比如一個橫向的滾動列表,你需要對列表所有對象都加上“Drag Scroll View”。

注意右鍵菜單內容是上下文關聯的。所以如果你右擊一個沒有碰撞器的掛件,你是不會看到“Drag Scroll View“選項的。



scroll view 有些選項可以調整。第一個是Movement,它讓你選擇你的滾動面板是水平滾動還是垂直滾動。你也可以選擇Unrestricted來實現隨意拖動。如果你想自定義移動,也可以使用Custom設置你的x和y值。

接下來的是Drag Effect控制着當你拖動的時候,滾動視圖是怎樣表現的。MomentumAndSpring是類似ios默認的行爲。

如果你想讓你的滾動面板可以通過鼠標滑輪滾動,設置ScrollWheelFactor值。如果你想讓鼠標滑輪反過來滾動面板,你可以設置負數。

Momentum Amount控制什麼時候開始拖動滾動視圖。根據你的需要調整這個值來讓它更靈敏或更不靈敏。

Reset Position控制當視圖被程序重置的時候它在哪個位置。(0,0)表示左上角。如果你想要一箇中間位置,你可以指定(0.5,0.5)。

大多數情況下,你會使用Restrict Within Panel選項。

Cancel Drag If Fits選項將防止內容被拖出區域。如果關閉,會可以拖動內容到邊界外,不過會有阻力。

Smooth Drag StartIOS  Drag Emulation選項更給力通常你保留默認值即可。

如果你有一個水平或垂直滾動條,你也能在下面對應的域指定它們。一旦這麼做,你也能選擇什麼情況下出現滾動條。


限制

在NGUI3.5.5或更早版本,scroll view只是裁剪它裏面的掛件。如果你內嵌了其它scroll view,不會發生裁剪。只有一個裁剪會發生。NGUI 3.5.6去除了這個限制。


Pro-Tip #1

最好使用讓滾動條的Show ConditionOnlyIfNeed,這樣可以只在必要的時候顯示。


Pro-Tip #2

如果你想要創建一個無盡的Scroll View,附加一個UIWrapContent,就像下面:



類文檔

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




如果你有一些和這個組件相關的問題,也可以在下面討論。

如果你有一些和這個組件相關的問題,也可以在下面討論。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章