Как вы устанавливаете изображение для UIButton в коде?
У меня есть это:
UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnTwo.frame = CGRectMake(40, 140, 240, 30);
[btnTwo setTitle:@"vc2:v1" forState:UIControlStateNormal];
[btnTwo addTarget:self action:@selector(goToOne) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnTwo];
но не вижу, что будет устанавливать изображение для него.
setImage
не рекомендуется. (Мне кажется , вы путаетеUIButton.setImage
сUITableViewCell.image
, которая является собственностью осуждается , как вы заявили.)Решение Майка просто покажет изображение, но любой заголовок, установленный на кнопке, не будет виден, потому что вы можете установить заголовок или изображение.
Если вы хотите установить оба (ваше изображение и заголовок), используйте следующий код:
источник
Прежде чем это сработало, мне пришлось явно изменить размер рамки кнопки в зависимости от размера рамки изображения.
источник
[listButton sizeToFit]
В случае пользователя Swift
источник
Вы можете сделать это так
источник
источник
Вы можете поместить изображение любым из способов:
источник
Я искал решение, чтобы добавить
UIImage
к моемуUIButton
. Проблема была просто в том, что изображение было больше, чем нужно. Просто помог мне с этим:Каждый раз, когда я хочу показать свой,
UIImageView
я просто устанавливаю переменнуюhidden
наYES
илиNO
. Могут быть и другие решения, но я много раз путался с этим, и это решало его, и мне не нужно было разбираться с внутренними вещамиUIButton
, выполняемыми в фоновом режиме.источник
Не беспокойтесь, создавая кнопки из кода, вы можете сделать это на раскадровке. Это сработало для меня, одна строка ... более простая.
источник
источник
Версия Swift 3 (butt_img должен быть Набором изображений в папке Assets.xcassets или Images.xcassets в XCode ):
В любом случае, если вы хотите, чтобы изображение масштабировалось до размера кнопки, вы можете добавить
UIImageView
поверх него и присвоить ему свое изображение:источник