繁体   English   中英

以编程方式更改 UIView 大小

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM