Ios 仅更改图幅中的1个值
我对iOS有些陌生,要更改视图的宽度或高度,我使用以下代码:Ios 仅更改图幅中的1个值,ios,view,frame,cgrect,Ios,View,Frame,Cgrect,我对iOS有些陌生,要更改视图的宽度或高度,我使用以下代码: view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, newHeight); 这感觉不对,因为我将所有旧值复制到一个新的rect中只是为了更改一个值,但我不能这样做:
view.frame = CGRectMake(view.frame.origin.x,
view.frame.origin.y,
view.frame.size.width,
newHeight);
这感觉不对,因为我将所有旧值复制到一个新的rect中只是为了更改一个值,但我不能这样做:
view.frame.size.height = newHeight;
有更好的方法吗?您不能直接赋值。您必须为其创建一个变量:
CGRect frame = view.frame;
frame.size.height = newHeight;
view.frame = frame; // or [view setFrame:frame];
不能直接指定值。您必须为其创建一个变量:
CGRect frame = view.frame;
frame.size.height = newHeight;
view.frame = frame; // or [view setFrame:frame];
另一种帮助您将框架变量保持在不同范围内的方法:
view.frame = ({
CGRect frame = view.frame;
frame.size.height = newHeight;
frame;
});
另一种帮助您将框架变量保持在不同范围内的方法:
view.frame = ({
CGRect frame = view.frame;
frame.size.height = newHeight;
frame;
});
不能指定CGRect的单个属性不能指定CGRect的单个属性