2013-05-21 76 views
0

我有一個滾動視圖,上面有一些按鈕。當單擊一個按鈕時,我希望它位於屏幕頂部,以便button.frame.origin.y是self.view.frame.origin.y。我該怎麼做呢?以編程方式控制滾動視圖 - Objective-c

+0

請記住,一個視圖的'frame',它是上海華盈的'frame'根據定義,在不同的座標系。如果您想比較視圖的位置和其超級視圖的位置,則應使用相同的座標系。可以使用視圖的「框架」和父框架的邊界,也可以使用'-convertRect:toWindow:'等方法將這兩個框架轉換爲某個公共座標系。 – Caleb

回答

0

使用- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated方法。

當按下按鈕時將視圖滾動到所需的框架。

例如:

- (void)buttonPressed:(UIButton*)sender 
{ 
    [scrollView scrollRectToVisible:desireFrameFromButton]; 
} 
+0

將按鈕移動到屏幕上可見的某處,但我希望它完全位於頂部 –

1

你可以做到這一點

- (void)buttonPressed:(UIButton*)sender 
{ 
    [scrollView setContentOffset:sender.frame.origin animated:YES]; 
} 
+1

這也可以滾動水平軸。目前還不清楚這是否是需要的。解決方法是使用發件人的origin.y和滾動視圖的當前contentOffset.x構造一個CGPoint。 – TomSwift

相關問題