UIScrollView (режим подкачки) подпрыгивает только при наличии двух или более страниц?

У меня просто странный вопрос. У меня есть 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-й вид и установлю двойную ширину содержимого прокрутки, он отскочит.

Мне интересно, будет ли прокрутка никогда не подпрыгивать, если будет только одна страница?

Спасибо


person Jack    schedule 15.09.2010    source источник


Ответы (2)


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

scroll.alwaysBounceHorizontal= YES;

or

 scroll.alwaysBounceVertical = YES;

или оба

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

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

Удачи

person xeonarno    schedule 23.11.2010

сам отвечу.

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

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

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

person Jack    schedule 15.09.2010