#ios
#iOS
Вопрос:
У меня есть UIScrollView, внутри которого у меня есть UIView, который имеет 5 UITextViews. Все это работает нормально, и я могу прокручивать вверх и вниз. У меня есть UISwipeGestureRecognizer, подключенный к UIScrollView программно.
Когда я получаю уведомление о салфетке, я обновляю содержимое 5 текстовых представлений. Однако для фактического отображения обновленного текста требуется до 30 секунд. Если я обновляю содержимое 5 текстовых представлений внутри обработчика нажатия кнопки, они обновляются немедленно.
Я попытался вызвать setNeedsDisplay() как в ScrollView, так и в contentView. Это не помогло. Я также попытался программно прокрутить ScrollView, и это тоже не помогло. Я проверил, что обработчик swipe gesture запущен в том же потоке, что и пользовательский интерфейс.
Это код внутри моего viewDidLoad ()
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:)))
leftSwipe.direction = .left
rightSwipe.direction = .right
view.addGestureRecognizer(leftSwipe)
view.addGestureRecognizer(rightSwipe)
И это мои обратные вызовы
@objc func handleSwipes(_ sender: UISwipeGestureRecognizer)
{
if sender.direction == .left
{
print("swipe left")
}
else if sender.direction == .right
{
print("swipe right")
}
}
Комментарии:
1. как вы получаете уведомление о салфетке?
2. Я обновил свой вопрос, включив код салфетки
3. прокручивается ли вид прокрутки по горизонтали? Это только обновление текста, которое задерживается? Или срабатывает жест салфетки, который задерживается?
4. да, он прокручивается по горизонтали. Вертикальная прокрутка отключена.
5. распознаватель прокрутки может не срабатывать постоянно, поскольку он конфликтует с распознавателем прокрутки