[英]Changing UIView size programmatically
我有一个 UIView,我想在用户触摸按钮时更改大小。
CGRect newFrame = self.myview.frame;
newFrame.size.width = 200;
newFrame.size.height = 200;
[self setFrame:newFrame];
CGRect newFrame = self.searchField.frame;
newFrame.size.width = 200;
newFrame.size.height = 200;
self.searchField.frame=newFrame;
它们都不起作用,不要改变任何东西。 我想为 UIView 设置固定的宽度和高度。
如果我理解正确,您想更改self.myview
的大小。 但是,您绝不会设置它的框架。 相反,您试图在视图控制器和一些搜索字段上调用sendFrame:
。 我很惊讶,前一个没有给你一个编译器错误。
目标 C
CGRect newFrame = self.myview.frame;
newFrame.size.width = 200;
newFrame.size.height = 200;
[self.myview setFrame:newFrame];
迅速
var newFrame = myview.frame
newFrame.size.width = 200
newFrame.size.height = 200
myview.frame = newFrame
就我而言,我对视图的宽度有限制,因此我无法像 Tim 所说的那样更改宽度。
我所做的:我在我的约束上创建了一个出口,例如名为myviewWidthConstraint
。 然后我使用这个插座来改变我的视图宽度,如下所示:
mycell.myviewWidthConstraint.constant = newSize;
大小字段是只读的,只需新建一个 -
//Set height
let f = view.frame; //Grab current
view.frame = CGRect(x: f.origin.x, y: f.origin.y, width: f.width, height: 200);
view.frame = newframe;
要么
view.center = newcenter;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.