У меня есть UITableView
, в котором у меня есть несколько пользовательских ячеек, а моя последняя ячейка содержит UISearchbar
. Я подключил соответствующий delegates
и ссылаюсь на outlets
и может получить клавиатуру для отображения. Проблема, с которой я сталкиваюсь, заключается в том, что searchbar
находится в самом низу моего tableview
, т. Е. Он является частью самой последней ячейки. Таким образом, хотя клавиатура отображается, под ней скрывается searchbar
, так как я подозреваю, что она не может прокручиваться до этого местоположения с момента последней ячейки в представлении. У кого-нибудь есть мысли по этому поводу и как преодолеть эту ситуацию.UISearchbar внутри UITableView как последняя ячейка, скрывающая клавиатуру
ответ
Самое легкое решение состоит в том, чтобы ваш контроллер просмотра был подклассом UITableViewController
. Контроллер такого типа будет обрабатывать такие проблемы точно так же.
Если вы не можете, вы должны слушать, что на клавиатуре будут отображаться/скрываться уведомления и устанавливать contentInset
и scrollviewIndicatorInsets
внизу экрана таблицы на высоту клавиатуры. Затем вы можете прокручивать определенную ячейку на видимую. Когда клавиатура скрывается, установите нижнюю часть в предыдущее значение.
Да .... Два способа
1) либо вы можете изменить кадр всего tableView
и тянуть всю таблицу вверх, уменьшая позиции у из tableView
[tableView setFrame:CGRectMake(100,100,100,100)];
или
2) Вы можете изменить contentOffset
таблицы, чтобы программно прокрутить последнюю ячейку tableView, чтобы она была видна пользователю.
[tableView setContentOffset:CGPointMake(0,400) animated:YES]
Надеюсь, это вам поможет.
'contentOffset' - не очень правильное решение, потому что вы просматриваете представление таблицы больше, чем нужно. Когда клавиатура скрывается, вид будет «прыгать», чтобы исправить смещение. Это уродливый переход. –
до этого вы можете увеличить contentSize [tableView setContentSize: CGSizeMake (0,400)]. –
Что такое "400"? Твердо закодированные значения никогда не являются хорошей идеей. Что делать, если представление загружено на iPad? –
- 1. UITableView Последняя ячейка
- 2. UITableView последняя ячейка скрыта UITabBarController
- 3. Последняя ячейка, потерянная в UITableView
- 4. UITableView: последняя ячейка не полностью видна
- 5. Blank UITableView внутри UIScrollView внутри ячейка UITableView
- 6. Пользовательская ячейка в UITableView отображается неправильно - заполняется только последняя ячейка
- 7. UISearchBar как подзадача UITableView
- 8. Пользовательская ячейка, только последняя ячейка получает [layoutSubviews]?
- 9. UITableView внутри UIScrollView - ячейка неактивна
- 10. Как отменить клавиатуру в UISearchbar?
- 11. UISearchBar Показать клавиатуру
- 12. Последняя индексированная ячейка в UITableView берет неправильный шрифт
- 13. UISearchBar как заголовок UITableView
- 14. Последняя ячейка, повторяющаяся при прокрутке
- 15. Скрыть клавиатуру при касании uitableview
- 16. Создание UISearchBar и UITableView внутри UIView
- 17. iOS7 последняя ячейка в разделе сил UITableView полной ширина сепаратор
- 18. Последняя ячейка, собирающая свойства первой ячейки в UITableView
- 19. Windowshade-подобная анимация, скрывающая ячейки в UITableView
- 20. Скрыть клавиатуру при потере фокуса UISearchBar
- 21. Как скрыть UITableView, созданный UISearchBar?
- 22. UITableView ячейка многострочное оправдание
- 23. UITableView приклеивается к UISearchBar
- 24. UISearchBar прокручивает прокрутку UITableView
- 25. UISearchBar - toggle UITableView
- 26. UISearchBar + UITableView + UINavigationController вопрос
- 27. UINavigationController + UITableView + UISearchBar + UISplitViewController
- 28. UISearchBar в UITableView
- 29. Последняя использованная ячейка в листе
- 30. UICollectionView последняя ячейка не согласована
Да .. Просто изменил его на UITableViewController. У меня был старый код, где мне нужно было быть UIViewController, но это уже не так. Лучше всего идти с доступными решениями, чем прокладывать себе путь через систему. Благодаря.. – Sharath