2011-11-27 47 views
0

使用带有包含som文本视图和按钮的视图的UIScrollView。在viewDidLoad中设置:iphone UISCrollView

_myscrolview.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height); 

我看起来poratraite很好,但在景观我无法滚动到顶部在textViews打字?

试图在“didRotateFromInterfaceOrientation”

_myscrolview.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height); 

带或不带“didRotateFromInterfaceOrientation”设置...只滚动了一下,但无法去顶?

感谢 问候 基督教

+0

什么是_myscrolview和self.view之间的关系? self.view是_myscrollview的子视图吗? – yuxhuang

+0

self.view是包含scrollableView _myscrolview的视图。这是为了使可滚动高度与纵向视图相同。可能不应该在“didRotateFromInterfaceOrientation”中设置任何内容。但它也是一样。我正在考虑在xib文件中创建两个视图,其中一个用于横向,另一个用于纵向 - 任何建议都会被赞赏。 –

+0

但即使在xib中有两个视图 - 我可能会碰到没有任何滚动视图的重叠textview的键盘。 –

回答

1

_myscrolview.frame由于设备旋转而改变。

_myscrolview.frame = self.view.bounds; 

而且里面_myscrolview每个子视图可能需要被重新定位为好,其宽度和高度可能需要设置的景观宽度。

_myscrolview被调整子视图后,就可以计算出contentSize通过:

CGRect contentRect = CGRectZero; 

for (UIView *oneView in _myscrolview.subviews) { 
    contentRect = CGRectUnion(contentRect, oneView.frame); 
} 

_myscrolview.contentSize = contentRect.size; 
+0

是的,你说得对 - 谢谢 –