2013-08-04 2 views
0

Я пытаюсь реализовать прокручиваемое изображение, напоминающее полку с UIButtons как книги.UIScrollView background pattern image

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

Вот как это выглядит

enter image description here

Я попробовал второй метод, который просто настройки цвета фона скроллера до версии картины изображения полки изображения.

Вот мой код для второй версии:

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 

    [self.scroller setScrollEnabled:YES]; 
    [self.scroller setContentSize:CGSizeMake(320, 700)]; 
    UIImage *shelfImage = [UIImage imageNamed:@"Shelf.jpeg"]; 
    self.scroller.backgroundColor = [UIColor colorWithPatternImage:shelfImage]; 
} 

И вот (испортили) изображение:

enter image description here

Главная Вопрос: Как я могу сделать этот шаблон внешний вид изображения как первое изображение наверху?

+0

Вы поставляете сетчатку и изображение без сетчатки для изображения на полке? Каковы их размеры? –

+0

Я не ... размеры изображения полки 197x255 –

+0

Я просто попытался изменить размер изображения на полке, и это немного лучше. Но есть ли более простой способ вместо того, чтобы вручную угадывать правильные размеры размера? –

ответ

1

Вместо этого вы должны использовать UITableView. В этом случае вы можете легко установить cell.backgroundView.

UIImageView *backgroundView = [[UIImageView alloc] initWithFrame:CGRectMake:(0.0,0.0,320.0, height)]; 
backgroundView.image = [UIImage imageNamed:@"Shelf.jpeg"]; 
cell.backgroundView = backgroundView; 

И если вы действительно хотите использовать только UIScrollView затем взять только один мобильный фоновое изображение и ширина изображения должна быть такой же ширины Scrollview, потому что colorWithPatternImage: метод работы, как кафельной собственности.

enter image description here

Возьмите всего это изображение в свой проект и использовать его в качестве backgroundColor из UIScrollView.

[scrollView setContentSize:CGSizeMake(320.0, 1000.0)]; 
[scrollView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"cellImage.png"]]]; 

Это будет выглядеть следующим образом:

enter image description here

Но я хотел бы предложить вам еще раз, чтобы использовать UITableView вместо UIScrollView.