Как растянуть UIImageView (iphone dev.)? - PullRequest
0 голосов
/ 28 апреля 2011

Я изучаю Objective-c в течение нескольких месяцев, поэтому я начинающий.

У меня есть изображение (vertical gradient) 253px x 80px.И я хочу растянуть его до screen width.

Как я могу сделать UIImageView * 1024( or 768) x 80px с этим изображением?

Ответы [ 5 ]

3 голосов
/ 28 апреля 2011

Флаг, используемый для определения того, как представление размещает свое содержимое при изменении границ.@property (nonatomic) UIViewContentMode contentMode

UIViewContentModeScaleAspectFit

1 голос
/ 28 апреля 2011
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];
0 голосов
/ 04 января 2013

Одним из решений будет вызов:

imageView.transform = CGAffineTransformMakeScale( 1.5, 1);

Это растянет изображение в 1,5 раза по оси x, но сохранит размеры оси y.

0 голосов
/ 28 апреля 2011

Вы также можете посмотреть документацию по методу UIImage:

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

Это позволяет создавать изображения, которые могут адаптировать один маленький графический объект к различным размерам и ролям. @ Предложение Чугайстера.

0 голосов
/ 28 апреля 2011

Вы должны использовать:

Портретный режим

yourImage.frame = CGRectMake (x start, y start, x width, y width); 
...