在iOS中设置框架的原点

lak*_*esh 14 frame ios

我试图以编程方式设置框架的原点.

方法一:

button.frame.origin.y = 100;
Run Code Online (Sandbox Code Playgroud)

方法2:

CGRect frame = button.frame;
frame.origin.y = 100;
Run Code Online (Sandbox Code Playgroud)

我尝试了方法1,但它无法正常工作(显示错误,表示Expression不可分配).方法2正在运行.为什么会这样?

需要指导我正在做的事情.

Stu*_*ner 27

你不能做方法#1的原因是因为一个帧的各个属性是只读的.但是,整个帧本身是可写/可分配的,因此您可以执行方法#2.

你甚至可以做这样的技巧:

CGRect newFrame = button.frame;
newFrame.origin.y += 100; // add 100 to y's current value
button.frame = newFrame;
Run Code Online (Sandbox Code Playgroud)