Ada*_*dam 12 iphone objective-c
我正在尝试在我的iPhone应用程序中调整UIButton的大小.我有一个UIButton合成,当我调用下面的代码时,它会在屏幕上移动,但按钮的宽度和高度永远不会改变.
button.frame.size = CGRectMake(104, 68, 158, 70);
Run Code Online (Sandbox Code Playgroud)
例如,当我将高度(70)更改为40时,按钮的高度不会改变.但是,如果我更改x或y,它将在屏幕上移动.
有任何想法吗?
Ben*_*ieb 21
上面的代码不应该编译; 您正在尝试将CGRect分配给CGSize.问题在于属性的误导性.你上面做的是类似于:
[button frame].size = CGSizeMake(150, 70);
Run Code Online (Sandbox Code Playgroud)
显然,这实际上不会改变大小.你需要做的是抓取框架(或边界),修改它,然后设置它.试试这个:
CGRect buttonFrame = button.frame;
buttonFrame.size = CGSizeMake(150, 70);
button.frame = buttonFrame;
Run Code Online (Sandbox Code Playgroud)
要更改按钮的大小,请执行以下操作:
[button setFrame:CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)];
Run Code Online (Sandbox Code Playgroud)
例
[button setFrame:CGRectMake(173, 269, 130, 44)];
Run Code Online (Sandbox Code Playgroud)
确保未在Xib文件或Storyboard中设置"使用Autolayout"复选框.如果设置了该选项,则该命令不起作用.
| 归档时间: |
|
| 查看次数: |
55854 次 |
| 最近记录: |