UIScrollView (режим пейджинга) отскакивает только тогда, когда есть две или более страниц? - PullRequest
1 голос
/ 15 сентября 2010

У меня просто странный вопрос.У меня есть UIScrollView, и у меня есть только одна страница в этом свитке.Прокрутка включает подкачку и отказов.

Вот мой код (в iPad)

scroll = [[UIScrollView alloc] init];
scroll.pagingEnabled = YES;
scroll.showsHorizontalScrollIndicator = NO;
scroll.showsVerticalScrollIndicator = NO;
scroll.scrollsToTop = NO;
scroll.bounces = YES;
scroll.delegate = self;
CGRect frame = CGRectMake(0.0, 0.0, 768, 1004);
scroll.frame = frame;
[self.view addSubview:scroll];


UIView *view1 = [[UIView alloc] init];
view1.frame = CGRectMake(0, 0.0, 768, 1004);
view1.clipsToBounds = YES;
view1.backgroundColor = [UIColor redColor];
[scroll addSubview:view1];


scroll.contentSize = CGSizeMake(768 * 1, 1004);

Это очень просто.Я просто создаю один UIView и добавляю его для прокрутки.И установите для содержимого contentSize прокрутки одно точное отображение.

Но после его запуска прокрутка вообще не возвращается.

Интересно, свиток никогда не отскочит, если будет только одна страница?

Спасибо

Ответы [ 2 ]

9 голосов
/ 23 ноября 2010

Вы можете использовать свойство:

scroll.alwaysBounceHorizontal= YES;

или

 scroll.alwaysBounceVertical = YES;

или оба

Не добавляйте 1px, это создаст вам проблемы, если вы добавите сенсорные элементы в UIView внутри вашего прокрутки.

Никогда не забывайте снова определять свой размер содержимого после переопределения рамки вашего свитка. даже contentSize сохраняют одно и то же значение.

Удачи

0 голосов
/ 15 сентября 2010

отвечай сам.

Если вы хотите, чтобы UIScrollView мог отскочить, вы должны установить его contentSize больше, чем его размер кадра.

Даже 1px больше достаточно

для моего собственного кода, если я установил scroll.contentSize = CGSizeMake (768 * 1 + 1, 1004); это будет работать и подпрыгивать.

...