Нормальный вы должны использовать contentMode
(в данном случае UIViewContentModeScaleAspectFit
) каждый подкласс UIView имеет это свойство, как правило, вы можете использовать его для UIImageView
. Но я почти уверен, что не работает с UIBarButtonItem
. Попытайтесь, но вы можете ударить по стене.
Если мое предсказание было правдой, вы должны изменить размер изображения программно:
UIImage *myImage = [UIImage imageNamed:@"fb_share"];
float maximumHeight = 44;
float ratio = maximumHeight/ myImage.size.height;
CGSize imageNewSize = CGSizeMake(myImage.size.width*ratio, maximumHeight);
UIGraphicsBeginImageContextWithOptions(imageNewSize, NO, 0.0);
[myImage drawInRect:CGRectMake(0, 0, imageNewSize.width, imageNewSize.height)];
UIImage *resizedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIBarButtonItem *Share = [[UIBarButtonItem alloc] initWithImage:resizedImage style:UIBarButtonItemStyleBordered target:self action:@selector(Share:)];
, но как я могу объединить его с моим кодом? – TomasJ
только что видел редактирование, попробуем это – TomasJ
Вы должны сначала объявить свой UIImage, очевидно, а также установить информационную ленту CGSize. Но это должно сработать, если я не ошибаюсь. Кроме того, это может помочь, если у вас все еще есть проблемы: http://stackoverflow.com/questions/6435118/how-set-images-on-buttons-of-navigation-bar?rq=1 –