我正在寻找以下内容;
我做到了这一点;
初始UIButton
设置;
self.changeButton = [UIButton buttonWithType:UIButtonTypeSystem];
[self.changeButton setTitle:@"MyText" forState:UIControlStateNormal];
[self.view addSubview:self.changeButton];
[self.changeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self.view);
make.width.equalTo(@150);
make.height.equalTo(@50);
}];
我试过了以下内容;
以下两者给出了与上图所示相同的结果;
self.changeButton.transform = CGAffineTransformMakeRotation(-M_PI_2);
self.changeButton.layer.transform = CATransform3DMakeRotation(-M_PI_2, 0, 0, 1);
我最初也设置按钮如下所示,并尝试仅旋转TitleLabel
,但它只是将文本显示为“...” - 旋转后可能没有足够的空间用于TitleLabel
;
[self.changeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self.view);
make.width.equalTo(@50);
make.height.equalTo(@150);
}];
self.changeButton.titleLabel.transform = CGAffineTransformMakeRotation(-M_PI_2);
有人可以帮助我获得实际结果吗?我错过了什么?
答案 0 :(得分:0)
我想我明白了 - 当按钮从中心旋转时,我需要相应地改变我的初始按钮框架。
以下工作;
[self.changeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view).offset(-50);
make.top.equalTo(self.view).offset(50);
make.width.equalTo(@150);
make.height.equalTo(@50);
}];