Со ссылкой на: iPhone stretchableImageWithLeftCapWidth only makes "D"sРастягиваемые Изображения
У меня есть изображение кнопки размером 13x30
. Я хочу растянуть изображение, чтобы заполнить кнопку, которая будет иметь размер 45x30
.
Вот код, я использую:
UIImage *shareImage = [[UIImage imageNamed:@"btn_red"] stretchableImageWithLeftCapWidth:16.0f topCapHeight:0.0];
UIButton *shareButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 46.0f, 30.0f)];
etc....
Изображение я получаю довольно прочь. Я получаю изображение в реальном размере, с чем-то вроде более светлой тени за ним, как показано на рисунке .
Почему это происходит? Я совсем не понимаю. У меня правильная растягивающая логика, и я следил за тем, что все говорят в учебниках/сообщениях.
Если я получу определенную помощь, я очень благодарен.
Хорошо, я изменил его на 13. Все тот же вопрос. Рамка моей кнопки установлена до 46 x 30, как и раньше. – darksky
Почему был принят ответ от пользователя @ user1447414? Мы понятия не имели, где вы хотите сократить свой имидж. Он просто предлагает центр и неправильно (это должно быть 6 слева, скопируйте центральный пиксель, 6 справа). Пожалуйста, прочитайте документы Apple об этом. –
Пол, я принял его, потому что он сработал. Я много читал о документах Apple. Это был вздор. Мое изображение шириной 13 пикселей. Я хочу растянуть его до 46 в ширину. Я все еще ** не знаю, почему 6 было правильным. Для этого мне нужно растянуть левую сторону на 16 пикселей, а правую - на 16 пикселей. 16,5 + 16,5 + 13 = 46! Так как, черт возьми, вы протягиваете левую сторону на «6», и это работает? Если вы ответите на это, я дам вам правильный ответ. – darksky