我有一个要均匀扩展的 uiview 子类。我的意思是我希望视图的原点位于中心,并且宽度和高度扩展相同的量。现在原点在左上角,(0,0),它向右扩展。我该怎么做呢?
问问题
83 次
2 回答
0
当您更改框架的宽度和高度时,还将框架的 x 和 y 位置更改为这些数量的一半。
例如,如果您的帧当前是 (40, 60, 100, 200),并且您希望它宽 20 和高 30,则将其设为 (30, 45, 120, 230)。
于 2012-04-30T14:25:14.183 回答
0
我建议,如果我理解你的问题,你会得到视图所在的超级视图的大小。让这个观点成为view
。然后,让你的观点是myView
。
所以你所要做的就是:
取屏幕大小的一半作为宽度和高度值,并定位视图的原点。
UIView view = myView.superview;
if (nil != view) {
// Make sure your view won't extend by itself with this
myView.autoresizingMask = UIViewAutoresizingNone;
// Get The size of the parent view
CGSize size = view.bounds.size;
// Set the new frame of your view
myView.frame = CGRectMake(size.width/2.0f,
size.height/2.0f,
size.width/2.0f,
size.width/2.0f);
}
现在您的视图已正确定位
于 2012-04-30T14:29:11.467 回答