2010-10-13 2 views
2

как можно добавить изображение, которое должно быть установлено внутри uiscrollview, используя только построитель интерфейса и никакого кода. я попробовал просто добавить изображение в scrollview, и он не работал. Я знаю, что это действительно простой ответ, однако я не нашел никакой помощи, связанной с IB, для достижения этогоКак добавить uiscrollview в IB

ответ

4

Вы можете добавить изображение в список прокрутки в Interface Builder, но для его прокрутки (даже если изображение больше чем просмотр прокрутки) вам нужно вручную установить свойство contentSize прокрутки в коде, так как я не знаю, как установить это свойство в Interface Builder. В методе viewDidLoad ваш взгляд контроллера, вы можете добавить что-то вроде:

scrollView.contentSize = imageView.frame.size; 

только одна строка кода, не должно быть слишком много хлопот.

+0

Я бы добавил, что contentSize должен быть больше размера фрейма UIScrollView, как вы определили его в IB. Иначе все содержимое уже будет в видимом кадре, и прокрутка не будет включена. – Shiun

+0

спасибо плохое использование этого, но я бы не добавил свой просмотр прокрутки в заголовок и .m-файл, чтобы ваша строка кода работала. плохо просто попробуйте это, хотя может быть ib способ сделать это автоматически спасибо :) –

+0

self.scrollView.contentSize = CGSizeMake (self.view.frame.size.width, 660); // добавляем в любое число для увеличения вверх/вниз – DogCoffee

0

Как и другие люди, вы можете создать собственный подкласс UIScrollView. Тогда overided initWithCoder:

- (id)initWithCoder:(NSCoder *)coder 
{ 
self = [super initWithCoder:coder]; 
if (self) { 

    if ([self.subviews count] > 0) { 
     UIView* subview = [self.subviews objectAtIndex:0]; 
     self.contentSize = subview.frame.size; 

     self.alwaysBounceHorizontal = NO; 
     self.alwaysBounceVertical = YES; 
     self.showsHorizontalScrollIndicator = NO; 
     self.scrollEnabled = YES; 
    } 

} 
return self; 
} 

Затем установите класс ваш взгляд прокрутки в IB к пользовательскому подклассу. Это будет означать, что размер контента устанавливается автоматически.

Это работает только в том случае, если в представлении прокрутки есть одно подвью. В противном случае добавьте новый «контейнерный вид», поместите в него все, а затем добавьте это как единственное подвью в представление прокрутки.

Смежные вопросы