У меня есть UIButtons, что я пытался установить изображения в aspectFit. Однако при использовании раскадровки я столкнулся с некоторыми трудностями я наследнике UIButton и программно установить на imageViews кнопок для ScaleAspectFitUIButton backgroundImage против изображения
#import "UIButtonWithImageAspectFit.h"
@implementation UIButtonWithImageAspectFit
-(void)awakeFromNib{
[self.imageView setContentMode:UIViewContentModeScaleAspectFit];
}
@end
Это работало хорошо и кнопки изображения отображаются красиво.
Однако, теперь у меня есть необходимость поменять образы кнопки программно, так что я пробовал:
[_firstLetterButton setImage:[UIImage imageNamed:@"2CeadLitir.png"]];
Но это не работает так, согласно проконсультировать здесь я должен использовать:
[_firstLetterButton setBackgroundImage:[UIImage imageNamed:@"2CeadLitir.png"] forState:UIControlStateNormal];
который добавляет изображение как backgroundImage к кнопке. Теперь у меня есть изображения в кнопке.
- что масштабируется хорошо, как свойство изображения кнопки,
- и другая, который не масштабируется хорошо, как фоновое изображение отображается позади.
Так что я вернулся к подклассу UIButton
UIButtonWithImageAspectFit
и попытался изменить его так, что он устанавливает contentMode в BackgroundImage, а не образ
Но это, кажется, не имеют свойство BackgroundImage, что я может получить доступ, но в соответствии с документацией у него есть
currentBackgroundImage
Property
Однако я не могу использовать тот же метод setContentMode
на что currentBackgroundImage
Любые идеи, как обойти это?