Cocoa touch 更改ios帧大小(宽度e高度)保持位置(x,y)

Cocoa touch 更改ios帧大小(宽度e高度)保持位置(x,y),cocoa-touch,ios,Cocoa Touch,Ios,如何更改帧视图的大小并保持原点位置? 我尝试使用此代码(但不起作用): 你需要立即设置整个框架。尝试: CGRect newFrame = myview.frame; newFrame.size = CGSizeMake(23.0, 50.0); myview.frame = newFrame; 下面介绍如何仅使用一行代码即可完成此操作: myview.frame = CGRectMake(23, 50, myview.frame.size.width, myview.frame.size.h

如何更改帧视图的大小并保持原点位置? 我尝试使用此代码(但不起作用):


你需要立即设置整个框架。尝试:

CGRect newFrame = myview.frame;
newFrame.size = CGSizeMake(23.0, 50.0);
myview.frame = newFrame;

下面介绍如何仅使用一行代码即可完成此操作:

myview.frame = CGRectMake(23, 50, myview.frame.size.width, myview.frame.size.height);


我不知道。您可以更改“边界”属性,而不是更改视图的“帧”属性,这样无论为x和y设置了什么,都不会影响视图位置。确保使用0表示x和y

self.myView.bounds = CGRectMake(0,0, newWidth, newHeight);

好的,所以没有一个方法只设置大小!您还可以转到:
[myview setFrame:CGRectMake(23,50,CGRectGetWidth(myview.frame),CGRectGetHeight(myview.frame))
@runmad你的答案也是苹果公司的首选方式,看不应该是这样吗?[myview setFrame:CGRectMake(myview.frame.origin.x,myview.frame.origin.y,newWidth,newHeight)];
[myview setFrame:CGRectMake(23, 50, myview.frame.size.width, myview.frame.size.height)];
self.myView.bounds = CGRectMake(0,0, newWidth, newHeight);