2017-02-05 51 views
2

我想要一個覆蓋整個屏幕的滾動視圖。不過,我想知道是否有可能只允許從部分滾動視圖中檢測到滾動。例如,你有一個全屏滾動視圖,屏幕的上半部分應該檢測滾動,但下半部分不應該。我知道如果將alpha更改爲0,scrollview不再滾動,可能的解決方案是更改scrollview部分的alpha值嗎?這甚至有可能嗎?任何想法或想法?滾動查看只檢測某些區域的滾動?

+1

一個簡單的解決方案是將表視圖添加到視圖控制器,並在您不希望允許在觸摸這個 – Mentos

回答

1

您可以從UIScrollView繼承子類並覆蓋方法touchesShouldBegin。 你應該檢查什麼時候觸及並允許或不允許。

class ScrollView: UIScrollView { 

    override func touchesShouldBegin(_ touches: Set<UITouch>, with event: UIEvent?, in view: UIView) -> Bool { 

     if (touches.first?.location(in: self).y)! > self.bounds.height/2 { 
      // In bottom part 
      return true 
     } 

     // In top part 
     return false 
    } 
} 
+1

表視圖的一部分添加明確的說法是我迄今爲止FUNC touchesShouldBegin(_觸摸:設置, 與事件:UIEvent ?, 在視圖:UIView) - > Bool {}我將如何寫if語句來檢查觸摸點的位置 – user6520705