iPhone: растянуть изображение с градиентом - PullRequest
1 голос
/ 14 декабря 2011

У меня есть UIButton.И для моей кнопки я хочу установить изображение с вертикальным градиентом.enter image description here

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

UIImage* myGradientImage = [UIImage imageNamed:@"gradientImage.png"];
UIImage* stretchImage = [myGradientImage
    stretchableImageWithLeftCapWidth:20 topCapHeight:20];

Когда ширина кнопки увеличивается, она растягивается нормально.Но если высота растет, градиент выглядит не очень хорошо.enter image description here

Есть ли возможность установить одновременно bottomCapHeight и topCapHeight?Или сказать, чтобы изображение не касалось центра изображения?

1 Ответ

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

Если вы сделаете

UIImage* stretchImage = [myGradientImage stretchableImageWithLeftCapWidth:20 
                                                             topCapHeight:0];

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

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