我想垂直向UIScrollView
添加按钮。我似乎无法得到正确的起点:
int startPosition = self.view.frame.size.height/2 - self.view.frame.size.height/4;
这是滚动视图frame.origin.y
...问题是当我这样做时:
button.frame = CGRectMake(toolsScrollView.frame.size.width/8, startPosition, (toolsScrollView.frame.size.width*3)/4, (toolsScrollView.frame.size.width*3)/4);
按钮未添加到正确的位置。事实上,即使我写0而不是startPosition,按钮也会添加到y轴上屏幕中间附近的某处。我想不通为什么? frame.origin组件是绝对的还是相对于其他对象的?
答案 0 :(得分:2)
frame
相对于superview
的坐标系。在考虑origin
时,它只是一个相关的细节,因为这一切都是由坐标系影响的。
要检查的事项:
frame
是什么frame.origin
是什么contentSize
,contentInset
和contentOffset
是什么这些事情中的任何一个都会影响子视图的视觉位置