0

目前我在 ScrollView 上有一个可以缩放的按钮。当您缩放时,我已使按钮相对于图像上的位置保持在同一位置,但由于按钮的原点是 (0,0),它最终会移动大约一厘米。无论如何我可以将按钮原点设置在按钮的中间吗?

我如何显示我的按钮:

UIButton *btn1 = [UIButton buttonWithType: UIButtonTypeDetailDisclosure];
[btn1 addTarget:self action:@selector(_openMiamiPage:) forControlEvents:UIControlEventTouchUpInside];
btn1.tag = kAddContactButton;
[_mapContentView addSubview:btn1];

- 从 plist 中获取 co-ordinatons。

4

2 回答 2

1
btn1.center = GCPointMake(0,0);
于 2012-11-20T16:01:23.997 回答
1

无论如何我可以将按钮原点设置在按钮的中间吗?

它有助于具体说明您正在谈论的坐标系。任何视图,包括您的按钮,都使用(至少)两个坐标系:它自己的和它的父视图。视图自己的坐标系是视图自己绘制的坐标系。超级视图的坐标系是视图位于超级视图内部的坐标系。

听起来您只想移动按钮,使中心位于超级视图的原点。如果是这种情况,Hermann Klecker 的回答是正确的——只需将按钮的center属性设置为代表原点的点即可。center类似和的属性frame在超级视图的坐标系中表示。

更新:center属性表示框架的中心。更改它肯定移动按钮。如果您将 (0,0) 分配给center并且按钮没有移动到您想要的位置,那么按钮的超级视图的坐标系不是您所期望的。您说您的按钮在滚动视图中,但您需要意识到按钮的超级视图是滚动视图的内容视图,而不是滚动视图本身。将按钮设置center为 (0,0) 会将按钮移动到内容视图的左上角,即在滚动视图内移动的区域。如果您希望按钮在内容在其下方滚动时保持静止,请将按钮放在滚动视图的顶部,而不是在其中。

于 2012-11-20T16:11:17.467 回答