2013-05-16 89 views
0

我已經絕望無處不在幾個小時,無法找到適用於我的解決方案。我所要做的就是讓我的應用程序在uiscrollview中的內容的位置高於某個位置並低於另一個位置時執行某些操作。我希望這是有道理的。 這裏是我想會的工作代碼:如何執行操作「如果內容偏移量大於...」

- (void)viewDidLoad 
{ 
    if (self.scrollView4.contentOffset.y >= 100 && self.scrollView4.contentOffset.y <=  200) 
    { 
     [self.scrollView4 setContentOffset:CGPointMake(100,0)]; 
    } 
} 

任何幫助將不勝感激!

編輯:如果忘記提及,如果我提出一個「if」語句來表示如果contentOffset與contentOffset相等,那麼該操作就會執行。 contentOffset似乎仍然保持在應用程序加載時的值。我應該在應用程序的早些時候提到,我將contentOffset設置爲一個值,但我不知道這是否會影響任何內容。

回答

0

這對我來說很好。如果它不爲你工作,我建議你的問題不在於此

[self.scrollview4 setDelegate:self]; 
- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if (scrollView.contentOffset.y >= 100 && scrollView.contentOffset.y <= 200) 
    { 
     NSLog(@"Caught"); 
    } 
} 
+0

感謝。這是[self.scrollview4 setDelegate:self];它做到了。由於我是編程新手,你能否簡單地告訴我爲什麼當我錯過「setDelegate」時它不起作用? –

+0

將代表想象成計算機在要做某事時詢問或告訴的人,因此您只是對您的滾動視圖說,在滾動之前告訴我,在滾動之後,如果您要滾動等等。所以,您的滾動視圖想要發送消息,但是你從來沒有告訴過它要發送給誰。它們是iOS的重要組成部分,因此您可以在這裏閱讀更多關於它們的信息https://developer.apple.com/library/ios/#documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html – zimmryan

+0

謝謝,現在更有意義我將閱讀該文檔。 –

0

UIScrollViewDelegate有一個方法scrollViewDidScroll(只要關聯的滾動視圖滾動就執行)。你可以在那裏實現你的邏輯。

+0

我已經試過這樣做,但它並沒有區別,我明白爲什麼它最好把它放在那裏,雖然 –

相關問題