Как сделать изогнутые углы в UIImageView даже при установке UIImage во время выполнения? - PullRequest
1 голос
/ 22 февраля 2012

Я нашел примеры в StackOverflow о том, как делать изогнутые углы в UIImageView, и это работало нормально, когда я устанавливал изображение в своем инструменте построения Xcode GUI.Когда я затем добавил некоторый код для изменения изображения во время выполнения, изогнутые углы работали только частично.

Вот код, который я использую, чтобы попытаться добиться изогнутых углов:

thumbnail.image = [UIImage imageNamed:self.video.thumbnailFileName];
thumbnail.contentMode = UIViewContentModeScaleAspectFill;
thumbnail.clipsToBounds = YES;

// round the corners:
thumbnail.layer.cornerRadius = 10.0;
thumbnail.layer.masksToBounds = YES;

// add a border:
thumbnail.layer.borderColor = [UIColor lightGrayColor].CGColor;
thumbnail.layer.borderWidth = 3.0;

ДО: При настройке изображения с помощью GUI Builder в XCode: BEFORE: When setting the image via the gui builder in Xcode.

ПОСЛЕ: Программная настройка UIImage.Обратите внимание, что изогнутые углы выглядят ужасно: AFTER: Setting the UIImage programmatically. Notice the curved corners look terrible.

Исходное изображение PNG, используемое в приложении: The original PNG image being used in the app.

Ответы [ 3 ]

1 голос
/ 27 февраля 2012

Проблема была в серии странных совпадений ...

Первая проблема состояла в том, что у меня было две версии этого образа в какой-то момент, и почему-то первая моя версия все еще переносилась в мой комплект приложений (или была в моем комплекте приложений из предыдущих отладочных сборок). Тот первый был другим с тех пор и не выравнивался правильно с изогнутыми углами. Поэтому, как только я очистил свою сборку, этот оригинальный файл исчез.

Вторая проблема заключалась в том, что у второго файла было немного другое имя, которое я не заметил, и это была вторая причина, по которой я не мог заставить это работать должным образом.

Итак ... код был прав, просто были проблемы с моими файлами изображений! Извините за путаницу.

0 голосов
/ 08 января 2013

Для тех, кто пытается закруглить углы UIImageView, обратите внимание, что вам нужно импортировать

#import <QuartzCore/QuartzCore.h> 

сначала .... чтобы использовать свойства слоя.

0 голосов
/ 22 февраля 2012

Похоже, что порядок слоев пошёл не так.Изображение, закругленное по углам, теперь кажется выше границы, а не ниже.

Я слаб на слоях, но предположение: измените порядок действий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...