2016-11-20 4 views
1

У меня есть квадрат UIImageUIImageView растягивает/повтор изображения на границах и сохранить ее качество

enter image description here

Я пытаюсь создать UIImageView с помощью этого UIImage для любого заданного прямоугольника, который я буду использовать в качестве граница с другим видом сверху.

Я не хочу устанавливать границу layer вручную, но я хотел бы использовать это изображение.

Пример желаемого выхода:

enter image description here

Я попытался с помощью UIView «s UIViewContentModeScaleToFill

UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(5, 5, 300, 150)]; 
[imageView setImage:[UIImage imageNamed:@"background"]]; 
[imageView setContentMode:UIViewContentModeScaleToFill]; 

Но образ растяжку и не возвращает желаемый результат

пример Выход:

enter image description here

+0

почему использование изображения для создания границы. Программно создайте границу и дайте ей цвет и т. Д. Что бы вы ни захотели. –

+0

Мне не удалось достичь той же границы и тени изображения, изменив слой вида. – iDev

+1

Используйте 'resizableImageWithCapInsets:' или 'resizableImageWithCapInsets: resizingMode:' на вашем 'UIImage'. Посмотрите на раздел «Определение растягиваемого изображения»: https://developer.apple.com/reference/uikit/uiimage?language=objc#symbols – Larme

ответ

3

Программным вы можете создать границу с эффектом тени:

[view.layer setCornerRadius:5]; 
[view.layer setShadowColor:[UIColor lightGrayColor].CGColor]; 
[view.layer setShadowOpacity:0.4]; 
[view.layer setShadowRadius:1.0]; 
[view.layer setShadowOffset:CGSizeMake(1.0, 1.0)]; 

Хотя, если вы хотите сделать это с помощью интерфейса Xcode, вы можете сделать это, как

  1. Перетащите &. Добавьте свое квадратное изображение в Активы
  2. Выбрать изображение & нажмите на кнопку «Показать Attribute Inspector»
  3. В разделе Строгание выберите «Горизонтальный и вертикальный» для Ломтики

Теперь Используйте его, как вы хотите, вы будете иметь растягивания изображения без каких-либо искажений

enter image description here

Вы можете просматривать изображения вид ломтика на кнопку «Показать Строгание» в нижней

enter image description here

Вы также можете сделать это с помощью программно

resizableImageWithCapInsets:resizingMode:

+0

Спасибо, я думаю, его стоит упомянуть, что это можно сделать программно, используя 'resizableImageWithCapInsets:'. – iDev

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