2012-11-01 27 views

回答

3

你可以,通過重寫-touchesBegan:withEvent:和準方法,但你必須實現一個相當於contentOffsetcontentSize,而且很可能有某種contentView它自己的滾動視圖內移動。你還必須實現所有的動量物理,這可能會非常耗時。然後,您已經掌握了手勢和滾動之間的所有交互(例如,如果您按住手指然後開始滾動,則某些觸摸事件會「取消」,這些都是由內置的UIKit類自動處理的)。

這當然是可能的,但它會是一個很大的工作地獄,所以除非你有一個真正的,很好的理由來建立自己的沒有意義。

+0

謝謝尼克,但我有理由:我有標籤放置在UIView(我想滾動)的對象,我根據對象標籤處理事件。 UIScrollView沒有給我一個選項來獲得觸摸的對象標籤,是嗎?至少我找不到它。 –

+0

'UIScrollView'繼承自'UIView',所以你仍然可以在滾動視圖中使用'-viewWithTag:'。你需要描述你想要實現的目標,以獲得更有用的答案,因爲你現在的問題現在已經得到解答。 –

+0

這很簡單:實際上我想實現的是在不使用UIScrollView的情況下製作UIView滾動條。我需要能夠瀏覽我的UIView超出邊緣。就像我們說的那樣,我製作了一個UIView 4096x3072,在它上面放置了對象,並根據所觸及的對象使用這些對象進行動作。嗯不能添加任何東西,我認爲這是自我解釋。 –

0

這可能有助於說明你想要達到的目標,因爲你可以用UIScrollView來實現,也可以實現UIScrollViewDelegate。我只是通過實現代理並將其他代碼放在那裏,很容易地完成了滾動視圖的一些非常花哨的事情。

+0

感謝您的提示,我會盡量玩它! –

+0

對不起,用UIScrollView我不行。觸摸要麼被uiscrollview吞噬,要麼反應太慢。 –

相關問題