2015-04-09 5 views
0

Я ищу следующее;Кнопка AutoLayout и Rotate

Rough Sketch

Я сделал это;

Начальная установка UIButton setup;

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

Я думаю, что у меня есть - поскольку кнопка поворачивается из центра, мне нужно будет изменить начальную рамку кнопки соответственно.

Послеработанные;

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