Я изучаю Objective-c в течение нескольких месяцев, поэтому я начинающий.
У меня есть изображение (vertical gradient) 253px x 80px.И я хочу растянуть его до screen width.
(vertical gradient)
253px x 80px
screen width
Как я могу сделать UIImageView * 1024( or 768) x 80px с этим изображением?
UIImageView * 1024( or 768) x 80px
Флаг, используемый для определения того, как представление размещает свое содержимое при изменении границ.@property (nonatomic) UIViewContentMode contentMode
UIViewContentModeScaleAspectFit
CGRect myImageRect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 80.0f); UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect]; [myImage setImage:[UIImage imageNamed:@"gradient-253x80.png"]]; [self.view addSubview:myImage];
Одним из решений будет вызов:
imageView.transform = CGAffineTransformMakeScale( 1.5, 1);
Это растянет изображение в 1,5 раза по оси x, но сохранит размеры оси y.
Вы также можете посмотреть документацию по методу UIImage:
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
Это позволяет создавать изображения, которые могут адаптировать один маленький графический объект к различным размерам и ролям. @ Предложение Чугайстера.
Вы должны использовать:
Портретный режим
yourImage.frame = CGRectMake (x start, y start, x width, y width);