Есть ли способ растянуть изображение по вертикали, как stretchableImageWithLeftCapWidth? - PullRequest
0 голосов
/ 18 июля 2011

UIImage имеет метод "stretchableImageWithLeftCapWidth", который масштабирует изображение по горизонтали без масштабирования "caps".

Есть ли способ сделать это также по вертикали? Или даже горизонтально и вертикально?

SDK не показывает мне какой-либо метод, который мог бы сделать это. Google тоже не помогает, но, возможно, я ищу не те слова.

Ответы [ 2 ]

3 голосов
/ 18 июля 2011

Фактический метод -

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

, и он поддерживает растяжение ( без масштабирования, это разные понятия ) в любом направлении.

Если вы хотитерастянуть только по вертикали, затем установить leftCapWidth на ноль, растянуть только по горизонтали, а затем установить topCapHeight на ноль.И чтобы растянуть в обоих направлениях установите оба соответственно.

0 голосов
/ 18 июля 2011

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

Я поместил этот метод в категорию UIImage.Это упрощает код.

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;
{
    UIGraphicsBeginImageContext( newSize );
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

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