Я пытаюсь дублировать это программно:Правильная настройка автоматического изменения маски
Я видел там много путаницы с тем, как Apple, решает эту проблему. Я пробовал следующее, но для меня это не работает:
[buttonTop setAutoresizingMask:UIViewAutoresizingFlexibleHeight];
Любые идеи, куда идти дальше?
Update:
Код для моей кнопки выглядит следующим образом:
buttonTop = [UIButton buttonWithType:UIButtonTypeCustom];
buttonTop.frame = CGRectMake(0, 0, 100, 100);
buttonTop.center = self.view.center;
buttonTop.layer.cornerRadius = buttonTop.frame.size.width/2;
buttonTop.clipsToBounds = YES;
buttonTop.layer.masksToBounds = YES;
[buttonTop setAutoresizingMask:UIViewAutoresizingFlexibleHeight];
if (GetUserProPic){
[buttonTop sd_setImageWithURL:[NSURL URLWithString:GetUserProPic] forState:UIControlStateNormal];
[buttonTop sd_setImageWithURL:[NSURL URLWithString:GetUserProPic] forState:UIControlStateSelected];
} else {
[buttonTop setImage:[UIImage imageNamed:@"avatar_icon"] forState:UIControlStateNormal];
[buttonTop setImage:[UIImage imageNamed:@"avatar_icon"] forState:UIControlStateSelected];
}
[self.view addSubview:buttonTop];
Результат выглядит следующим образом:
Однако, я хотел бы, чтобы выглядят так:
Вы не должны использовать автоматического изменения размера маски больше, кроме в старых приложениях, и даже там, вы должны действительно обновить их до Auto-Layout. –
@ DuncanC Я не согласен. Существуют различные инструменты. Используйте то, что работает в данной ситуации. Нет ничего плохого в авторезистировании масок. – rmaddy
@jape Вам нужно уточнить, что вы подразумеваете под «не работает». И расскажите подробнее о том, как кнопка создана и настроена. Поместите всю эту информацию в свой вопрос, а не в комментарии. – rmaddy