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值会上移。这样你可以修复它。

相关问题