2013-07-23 57 views
0

所以我一直在努力解決這個問題很久了,我相信我已經嘗試了每個StackOverflow解決方案,但我仍然無法得到這個權利。iOS:適當地通過滾動視圖傳遞正確的事件

我有一個「窗簾查看」趴在所有其他觀點在我的社交網絡應用

這是它的外觀時,窗簾是默認模式 This is how it looks when the curtain is in default-mode

這是怎麼回事看起來當簾處於「向下」 -mode This is how it looks when the curtain is in "down"-mode

簾是包含在滾動視圖的圖。

爲了能夠拉下窗簾,我不得不將內容大小設置爲綠色按鈕,這可以在圖像中看到。

內容大小類似於這張圖片中的黑色描邊區域。

enter image description here

我的問題。我無法弄清楚當滾動視圖處於默認模式時,我可以如何製作綠色按鈕,「Follow,Everybody,Nearby」可點擊/觸摸。顯然,scrollview的內容大小正在研究按鈕,但我怎麼能避免這種情況?

我與則hitTest壓倒一切的嘗試,試圖通過事件和
其他類似的解決方案,但沒有運氣的鏈條傳遞觸摸事件。我無法得到這個工作。

我已經使用包含滾動視圖的自定義視圖控制器實現了窗簾視圖。 然後將此視圖添加到根視圖。

+0

你有沒有試過'[self.view bringSubviewToFront:yourButton]' –

+1

你確定你需要這個滾動視圖嗎?簡單的滑動手勢不起作用? – johnyu

+0

是的,我需要scrollview,當然一個手勢識別器會工作,但我希望它可以滾動。謝謝。 – Eyeball

回答

1

你應該隱藏自己的UIScrollView當它在默認位置:

scrollView.hidden = YES; 

這將防止UIScrollView從它下面的按鈕,潤色阻塞。

Apple's UIView doco

隱藏視圖從窗口消失,並且不接收輸入事件。然而,它仍然在其超級瀏覽的子視圖列表中,並像往常一樣參與自動調整。

然後在您拖下窗簾之前將其設置爲NO。

編輯:

爲了回答您的評論的問題:

  1. 我怎麼會知道我的滾動視圖是在默認位置,沒有事件觸發? 通過檢查滾動視圖上的contentOffset屬性,您應該能夠確定滾動視圖是處於默認(隱藏)位置還是處於向下位置(顯示)。

  2. 如果我把它設置爲隱藏,那麼窗簾的圖像會不會消失?是的,會的。如果您希望視圖仍然部分顯示在頂部,而不是完全消失,則需要採用其他方法(請參閱下面的一些建議)。

  3. 滾動視圖應該是用手指(當然)'拖'下來的。所以它需要隨時觸發事件。您可以檢測主視圖上的觸摸/平移手勢,並根據該手勢使滾動視圖向下/向上移動。手勢實際上不需要在滾動視圖內開始。

這裏有一些鏈接,我發現有幫助:

希望這有助於!

+0

謝謝,1.我怎麼知道我的滾動視圖是否處於默認位置,沒有事件觸發? 2.如果我將它設置爲隱藏,那麼窗簾的圖像會不會消失? 3.滾動視圖應該是用手指「拖拽」(當然)。所以它需要隨時觸發事件。 – Eyeball

+0

@Eyeball查看我上面的編輯。 –

+0

有點晚了,但我去了第二個點答案=) – Eyeball

相關問題