2014-04-14 140 views
1

我在另一個UIScrollView中嵌入了一個UIScrollView。在UIScrollView之間切換

我想從第一個切換到另一個當用戶滾動到某個偏移量。

是否有相當於[textfield becomefirstresponder],我可以使用?而不是設置我的scrollview.scrollEnabled = NO,然後將其設置回YES。

感謝

+0

的指數從一個滾動視圖切換到另一個我們需要更多的細節。你的問題不清楚。幾件事情..文本字段在哪裏?在哪個滾輪?爲什麼你需要一個等值?你爲什麼要做scrollEnabled然後重置它?一旦孩子卷軸完全滾動或者不開始滾動,父母就可以滾動。 – NeverHopeless

+0

...如果你可以避免滾動視圖中的滾動視圖,它往往是一個不好的用戶體驗和不必要的。 – RobP

+0

如果你有兩個滾動元素,當第一個元素達到一定高度時,你會怎麼做,第二個元素開始滾動而不通過第一個元素的背景? –

回答

0

我發現了一個非常簡單的答案。 我只是通過改變子視圖

[self.view insertSubview:self.scrollViewA atIndex:0]; 

[self.view insertSubview:self.scrollViewB atIndex:0]; 
0

一種策略是,以檢測當你想切換滾動的意見,然後進行動畫其中一個屏幕外和另外一個。例如,當前正在使用scrollViewA,並且scrollViewB處於關閉屏幕。當您需要在屏幕上切換scrollViewB和屏幕上顯示scrollViewA時,請使用UIAnimationscrollingEnabled的組合。

- (void)timeToSwitchScrollViews 
{ 
    [UIView animateWithDuration:5 animations: ^{ 
     self.scrollViewA.frame = CGRectMake(/* somewhere off screen */); 
     self.scrollViewB.frame = CGRectMake(/* somewhere on screen */); 
    } 
    completion: ^(BOOL finished) { 
     /* wait untill last minute to turn of user interaction */ 
     self.scrollViewA.scrollingEnabled = NO; 
    }  
}