如何通过代码而不是故事板更改 UIButton 的大小和位置
How to change a UIButton size and position through code not storyboard
我一直在尝试通过代码更改情节提要场景中按钮的大小,但每次加载场景时按钮大小都没有改变。我试过在加载视图时更改按钮的框架大小,我也尝试过通过 CGRect 更改框架,其中 none 似乎有效。例如:
clickerbutton.frame = CGRect(x: 100, y: 100, width: 1000, height: 1000)
或
clickerbutton.frame.size = CGSize(width: 100, height: 100)
以编程方式布局按钮:
为按钮的每个约束添加 IBOutlets 并在代码中更改它们。
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonTopSpaceConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonLeadingSpaceConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonWidthConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonHeightConstraint;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.myButtonLeadingSpaceConstraint.constant = 10;
self.myButtonTopSpaceConstraint.constant = 20;
self.myButtonWidthConstraint.constant = 200;
self.myButtonHeightConstraint.constant = 70;
}
使用以下GitHub link下载示例项目:
https://github.com/k-sathireddy/ButtonCustomLayout
如果你想不受约束:
以编程方式创建按钮,然后根据需要更改框架。
确保您没有使用 AutoLayout,因为使用 autoLayout 将不允许您修改按钮大小
尝试使用:-
let dummyBtn : UIButton = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
dummyBtn.frame = CGRect(x: 100, y: 100, width: 200, height: 150)
dummyBtn.layer.backgroundColor = UIColor.blackColor().CGColor
self.view.addSubview(dummyBtn)
print(dummyBtn.frame)
}
func someFunction(){
dummyBtn.frame = CGRectMake(x: 10, y: 10, width: 1000, height: 1000)
}
我一直在尝试通过代码更改情节提要场景中按钮的大小,但每次加载场景时按钮大小都没有改变。我试过在加载视图时更改按钮的框架大小,我也尝试过通过 CGRect 更改框架,其中 none 似乎有效。例如:
clickerbutton.frame = CGRect(x: 100, y: 100, width: 1000, height: 1000)
或
clickerbutton.frame.size = CGSize(width: 100, height: 100)
以编程方式布局按钮:
为按钮的每个约束添加 IBOutlets 并在代码中更改它们。
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonTopSpaceConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonLeadingSpaceConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonWidthConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonHeightConstraint;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.myButtonLeadingSpaceConstraint.constant = 10;
self.myButtonTopSpaceConstraint.constant = 20;
self.myButtonWidthConstraint.constant = 200;
self.myButtonHeightConstraint.constant = 70;
}
使用以下GitHub link下载示例项目:
https://github.com/k-sathireddy/ButtonCustomLayout
如果你想不受约束:
以编程方式创建按钮,然后根据需要更改框架。
确保您没有使用 AutoLayout,因为使用 autoLayout 将不允许您修改按钮大小
尝试使用:-
let dummyBtn : UIButton = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
dummyBtn.frame = CGRect(x: 100, y: 100, width: 200, height: 150)
dummyBtn.layer.backgroundColor = UIColor.blackColor().CGColor
self.view.addSubview(dummyBtn)
print(dummyBtn.frame)
}
func someFunction(){
dummyBtn.frame = CGRectMake(x: 10, y: 10, width: 1000, height: 1000)
}