2012-07-14 60 views
0

我有一堆按鈕+ textfields的scrollView,當數據輸入到一個元素中時,scrollview會滾動到下一個元素。我經由frame部件移動視圖後,UIButton的框架座標不會更新

訪問每個元件位置。然而,用戶可上載的圖像,其有意地移動頁面向下所有那些元素。這完全打破了滾動到下一個元素功能,並且它僅滾動到,其中元素曾經是。意思是,每個UIButtonUITextFieldframe組件沒有得到更新。

當我將所有這些元素向下移動時,如何獲取其座標更新?我不應該使用frame

有關更多詳細信息,字段實際上位於視圖上,然後位於UIScrollView之上。當我添加圖像時,我通過向下移動屏幕來移動字段「視圖」。我沒有移動每個按鈕/字段本身。

- (void)scrollViewToNextElement:(CGRect)frame { 
[self.scrollView scrollRectToVisible:CGRectMake(frame.origin.x,frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height) animated:YES]; 
} 

觸發行動:

-(void)button1TextEntered{ 
// Now go to the next button 
[self scrollViewToNextElement:button2.frame]; 

}

+0

你也可以使用元素的''''屬性,它比每次改變'frame'屬性都快。 (因爲'center'屬性不會重新定義元素的大小) – holex 2012-07-18 09:11:45

回答

0

採取滾動視圖幀和一些值降低幀origin.y。當你輸入數值並按回車鍵滾動查看origin.y值會上移。這樣你可以修復它。

相關問題