目前我在ScrollView上有一个缩放按钮。我在缩放时使按钮保持在相对于图像位置的相同位置,但由于按钮的原点是(0,0),它最终移动大约一厘米。无论如何我可以将按钮原点设置在按钮的正中间吗?
我如何显示我的按钮:
UIButton *btn1 = [UIButton buttonWithType: UIButtonTypeDetailDisclosure];
[btn1 addTarget:self action:@selector(_openMiamiPage:) forControlEvents:UIControlEventTouchUpInside];
btn1.tag = kAddContactButton;
[_mapContentView addSubview:btn1];
- 从一个plist获得协调。
答案 0 :(得分:1)
btn1.center = GCPointMake(0,0);
答案 1 :(得分:1)
无论如何,我可以将按钮原点设置在按钮的正中间吗?
有助于具体说明您正在谈论的坐标系。任何视图,包括您的按钮,(至少)使用两个坐标系:它自己的,以及它的超级视图。视图自己的坐标系是视图绘制自己的坐标系。 superview的坐标系是视图位于superview内部的坐标系。
听起来你只想移动你的按钮,使得中心位于superview的起源处。如果是这样的话,Hermann Klecker的答案是正确的 - 只需将按钮的center
属性设置为代表原点的点。像center
和frame
这样的属性在superview的坐标系中表示。
更新:center
属性代表the center of the frame。更改它 肯定会移动按钮。如果您将(0,0)分配给center
并且按钮没有移动到您想要的位置,则按钮的超视图的坐标系统不是您所期望的。您说您的按钮处于滚动视图中,但您需要意识到按钮的超级视图是滚动视图的内容视图,而不是滚动视图本身。将按钮的center
设置为(0,0)会将按钮移动到内容视图的左上角,即在滚动视图内移动的区域。如果您希望按钮在内容滚动下方时保持静止,请将按钮放在滚动视图的顶部上,而不是在其中。