我有一个uiview子类,我想均匀扩展。我的意思是我希望视图的原点位于中心,并且宽度和高度扩展相同的量。现在,原点位于左上角(0,0),它向下扩展到右边。我该怎么做呢?
答案 0 :(得分:0)
更改框架的宽度和高度时,还要将框架的x和y位置更改为这些数量的一半。
例如,如果您的框架当前(40,60,100,200)并且您希望它的宽度增加20倍甚至更高,则需要它(30,45,120,230)。
答案 1 :(得分: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);
}
现在您的视图定位正确