Изучение основ UIScrollView
Мне очень трудно найти хорошие примеры UIScrollView. Даже Apple UIScrollView Suite мне не хватает.
Я ищу учебник или примерный набор, который показывает мне, как создать что-то похожее на прокрутку вкладки iPhone Safari, когда вы уменьшаете масштаб из одного окна браузера и можете щелкнуть на других.
Но мне трудно найти какой-либо старый вид в прокрутке. У меня есть представление, настроенное с изображением в нем, но когда я добавляю его в представление прокрутки, я получаю только черный прямоугольник, независимо от того, что я добавляю в представление, которое я добавляю.
Любые ссылки или фрагменты кода будут замечательными!
Ответы
Ответ 1
Ниже приведено прокрутить список просмотра от Apple
Основные шаги:
- Создайте
UIScrollView
и содержимое, которое вы хотите разместить внутри (в вашем случае a UIImageView
).
- Сделайте представление содержимого подвью в представлении прокрутки.
- Установите размер содержимого прокрутки в размере кадра в представлении содержимого. Это очень важный шаг, который люди часто пропускают.
- Поместите прокрутку в окно где-нибудь.
Что касается поведения пейджинга, проверьте свойство UIScrollViews pagingEnabled
. Если вам нужно прокрутить более чем на целую страницу, вам нужно будет сыграть трюки с помощью clipsToBounds
, как бы наоборот, что происходит в fooobar.com/questions/149113/....
Ответ 2
UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
NSInteger viewcount= 4;
for (int i = 0; i <viewcount; i++)
{
CGFloat y = i * self.view.frame.size.height;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, self .view.frame.size.height)];
view.backgroundColor = [UIColor greenColor];
[scrollview addSubview:view];
[view release];
}
scrollview.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height *viewcount);
Для получения дополнительной информации программно создайте UIScrollView
Ответ 3
Новый 26.03.2013
Я наткнулся на более простой способ сделать это без кода (contentSize)
fooobar.com/info/53554/...