UIScrollView contentOffset переходит после анимации - в 3.0 бета 5 - PullRequest
0 голосов
/ 21 мая 2009

У меня есть UIScrollView с несколькими UITextFields на нем. Когда пользователь редактирует текстовое поле, он прокручивается так, что UITextField центрируется. Проблема, с которой я сталкиваюсь, заключается в том, что UIScrollView прокручивается в правильное место, но в последнем кадре анимации он переходит к 300 300. Он отлично работает в 2.2.1, но не в бета-версии 3.0. Он всегда тоже достигает 300 300. Странно то, что когда я вызываю метод returnScrollAfterEdit, который перемещает представление прокрутки точно так же, он работает просто отлично. Есть идеи, что может вызвать это?

- (void)scrollViewToCenterOfScreen:(UIView *)field withKeyboard:(bool)withKeyboard {
    CGFloat viewCenterY = field.center.y;  
    CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
    CGFloat availableHeight = applicationFrame.size.height - 215;

    CGFloat y = viewCenterY - availableHeight / 2.0;

    NSLog([NSString stringWithFormat:@"w:%f h%f availH:%f y:%f x:%f", applicationFrame.size.width, applicationFrame.size.height, availableHeight, y, self.contentOffset.x]);

    if (y 

Ответы [ 2 ]

0 голосов
/ 13 апреля 2011

Исправлено с выходной версией 3.0

0 голосов
/ 18 августа 2009

Я не уверен, что это именно то, что вы ищете, но у меня были некоторые сумасшедшие проблемы с UITextView. Будет прокручиваться до нижней части кадра, если бы я выбрал любой текст в представлении. Я исправил это, отключив scrollEnabled перед добавлением текста в UITextView.

Таким образом, код будет выглядеть примерно так:

[textarea setText:@""]; //blank out the text to scroll back to the top
[textarea setScrollEnabled:NO]; //disable to avoid scrolling
[textarea setText:@"new text here"]; 
[textarea setScrollEnabled:YES];
[textarea resignFirstResponder]; //to drop annoying blue

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...