Растягиваемая часть изображения растягивается шире, чем 1px - PullRequest
3 голосов
/ 06 октября 2010

Я хотел бы создать UIButton, который использует растягиваемое изображение в качестве фонового изображения, так что я могу легко изменить размер кнопки для различных меток и т. Д.

Итак, я создал следующий код, который отлично работает:

UIImage *bgImage = [[UIImage imageNamed:@"Button-Template.png"]stretchableImageWithLeftCapWidth:2 topCapHeight:2];
UIButton *loginButton = [UIButton buttonWithType:UIButtonTypeCustom];
loginButton.frame = CGRectMake(180, 280, 112, 40);
[loginButton setBackgroundImage:bgImage forState:UIControlStateNormal];
// some more stuff

Теперь здесь есть одна загвоздка: iPhone SDK предполагает, что растягиваемая часть изображения имеет ширину ровно один пиксель, что не так на моем изображении, поскольку я хочу создать шаблон, который требует повторения каждые два пикселя. (таким образом, 2 пикселя - одна единица образца). Я не нашел в документах никакой информации о том, можно ли изменить значение ширины растягиваемой детали (в моем случае 2 вместо 1), кто-нибудь знает, как это сделать или как я могу достичь своей цели с помощью обходного пути? Написание растягивающей части самостоятельно кажется немного надуманным (хотя мне, возможно, придется вернуться к этому).

Спасибо!

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Начиная с iOS 5.0, вы можете использовать resizableImageWithCapInsets:

Check Ссылка на класс UIImage

Но этот метод работает только на устройствах iOS> = 5.0, так что это может бытьпока вниз.

0 голосов
/ 06 октября 2010

Нет API для использования 2 пикселей в качестве ширины растяжения.Вам придется реализовать это поведение самостоятельно в пользовательском представлении или использовать изображение с определенной шириной.

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