2017-02-17 2 views
-1

Я пытаюсь дублировать это программно:Правильная настройка автоматического изменения маски

enter image description here

Я видел там много путаницы с тем, как 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]; 

Результат выглядит следующим образом:

enter image description here

Однако, я хотел бы, чтобы выглядят так:

enter image description here

+0

Вы не должны использовать автоматического изменения размера маски больше, кроме в старых приложениях, и даже там, вы должны действительно обновить их до Auto-Layout. –

+0

@ DuncanC Я не согласен. Существуют различные инструменты. Используйте то, что работает в данной ситуации. Нет ничего плохого в авторезистировании масок. – rmaddy

+0

@jape Вам нужно уточнить, что вы подразумеваете под «не работает». И расскажите подробнее о том, как кнопка создана и настроена. Поместите всю эту информацию в свой вопрос, а не в комментарии. – rmaddy

ответ

0

Маска кнопки autoResizeMask влияет на размер кнопки, когда вид, содержащий кнопку, меняет размер. Это не влияет на содержимое внутри кнопки. (И я думаю, что настройки по умолчанию будет уменьшить изображение по мере необходимости, но не расширять его.)

Try код из этого SO ответ: How do I scale a UIButton's imageView?

buttonTop.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill; 
+0

Не работает: (но спасибо! – jape

Смежные вопросы