Вопрос по ios, uikit – Как реализовать scale-9 (9-slice) для пользовательского фона, созданного для UIButton

6

Что мне нужно сделать программно, чтобы использовать одно и то же фоновое изображение для UIButton переменного размера? (широко известный как 9-фрагментное масштабирование или масштабирование-9)

Ваш Ответ

2   ответа
15

Я знаю, что это старая ветка, но всем, кто сталкивается с этим после выхода iOS 5, следует отметить, что из документации Apple следует, чтоstretchableImageWithLeftCapWidth:topCapHeight: Начиная с iOS 5 этот метод устарел:

Устаревшие UIImage Методы

Deprecated in iOS 5.0. Deprecated. Use the resizableImageWithCapInsets: instead, specifying cap insets such that the interior is a 1x1 area.

Так что теперь, когда iOS 6 была анонсирована и скоро будет здесь, любой, кто разрабатывает для iOS 5 и выше, вероятно, должен взглянуть наresizableImageWithCapInsets вместо этого, какую документацию можно найти здесь:

Ссылка на класс UIImage - resizableImageWithCapInsets

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

Цените обновление. Boon
6

Проверять, выписываться:

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

В классе UIImage.

Если я правильно понимаю, что вы ищете, это позволит вам использовать один png для определения того, как выглядит ваша кнопка, и он будет растягиваться до любого размера по вертикали или горизонтали.

Похожие вопросы