自动布局和旋转按钮

AutoLayout and Rotate Button

我正在寻找关注者;

我做到了;

初始 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 但它只是将文本显示为“...” - 可能没有足够的 space 用于 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);

有人可以帮我得到实际结果吗?我错过了什么?

我想我明白了 - 当按钮从中心旋转时,我需要相应地更改我的初始按钮框架。

以下有效;

[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);
}];