Вы можете попробовать изменить размер изображения в рамке, растягивая его по вертикали, но при этом он будет горизонтально горизонтально, а затем установите его так, как вы сейчас это делаете.
Насколько я знаю, нет встроенной настройки для растягивания на одной оси и повторения на другом.
Код может выглядеть примерно так:
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenHeight = screenRect.size.height;
UIImage * targetImage = [UIImage imageNamed:@"background.png"];
UIView * yourView = [[UIView alloc] initWithFrame:CGRectMake(0.f, 0.f, targetImage.size.width, screenHeight)];
// redraw the image
UIGraphicsBeginImageContextWithOptions(yourView.frame.size, NO, 0.f);
[targetImage drawInRect:CGRectMake(0.f, 0.f, targetImage.size.width, screenHeight)];
UIImage * resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self.view setBackgroundColor:[UIColor colorWithPatternImage:resultImage]];
Re-sizing the image
Getting screen size
Можете ли вы прикрепить экран? Не совсем ясно, в чем проблема, с которой вы сталкиваетесь. –
@LucasHuang Предположим, вы просматриваете приложение на iPad; вид намного выше, чем у iPhone. Изображение недостаточно велико, чтобы достичь нижней части обзора, чтобы оно повторялось вертикально. Я просто хочу растягиваться по вертикали, потому что он все равно должен повторяться горизонтально. – jq1106
Вам нужно будет отрегулировать изображение, которое вы используете для шаблона, чтобы достичь того, чего вы хотите, но это взломать. –