Получение текста в виде прокрутки для начала сверху, а не снизу (Objective-C) - PullRequest
0 голосов
/ 20 января 2019

На мой взгляд, я загружаю некоторый текстовый контент из базы данных в разделе кода viewDidLoad.

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

Я добавил этот код ниже:

-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear: animated];
[self.descriptionTextV setContentOffset:CGPointZero animated:YES];
}

И это теперь перемещает представление прокрутки в начало текста, что я и хочу, но это занимает пару секунд, и это отвлекает.

Я пытался

[self.descriptionTextV setContentOffset:CGPointZero animated:YES];

Который перемещает текст с анимированной прокруткой в ​​течение нескольких секунд.

[self.descriptionTextV setContentOffset:CGPointZero animated:NO];

Который «перепрыгивает» текст снизу вверх.

И я попытался переместить команду setContentOffset в viewDidLoad и в секцию viewWillAppear, но тогда она вообще не работает.

Есть ли способ заставить мой текст начинаться сверху текста, а не снизу, без его анимации, прокрутки или прыжка?

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

Ответы [ 2 ]

0 голосов
/ 26 января 2019

Мне теперь удалось заставить это работать, перемещая мой код к следующему методу:

-(void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    [self.descriptionTextV setContentOffset:CGPointZero animated:NO];
}

И это прекрасно работает!

0 голосов
/ 20 января 2019

Если у меня было правильное понимание вашей проблемы, вы используете UITextView для загрузки текста, что делает эту проблему действительно странной, поскольку поведение по умолчанию UITextView должно начинаться сверху.В этом случае убедитесь, что никакие другие действия не выполняются в текстовом представлении.Кроме того, вы, возможно, захотите узнать, сколько времени у вас занимает загрузка данных.

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