Nano Hash - криптовалюты, майнинг, программирование

UISearchBar в панели навигации не может вводить текст

У меня странная проблема: когда мое приложение загружается впервые, вы не можете ввести текст в строку поиска, сколько бы раз вы ее ни нажимали, панель поиска вложена в панель навигации.

В моем приложении также используется панель вкладок, и когда вы переключаете вкладки, а затем возвращаетесь на вкладку с панелью поиска, она позволяет вам вводить текст... есть идеи, что вызывает это?

Вот код для searchBar:

func setupSearchBar(){

    let locationSearchTable = storyboard!.instantiateViewController(withIdentifier: "LocationSearchTable") as! LocationSearchTableViewController
    resultSearchController = UISearchController(searchResultsController: locationSearchTable)
    resultSearchController?.searchResultsUpdater = locationSearchTable

    searchBar = resultSearchController!.searchBar
    searchBar.sizeToFit()
    searchBar.placeholder = "Location"
    searchBar.isTranslucent = true
    searchBar.isUserInteractionEnabled = true

    for subView in searchBar.subviews{

        for subsubView in subView.subviews{

            if let textField = subsubView as? UITextField{

                var currentTextFieldBounds = textField.bounds
                currentTextFieldBounds.size.height = 40.0
                textField.bounds = currentTextFieldBounds
                textField.borderStyle = UITextBorderStyle.none
                textField.textAlignment = NSTextAlignment.left
                textField.font = UIFont(name: "System", size: 25.0)
                textField.textColor = theme?.textColour

            }
        }
    }

    self.navigationController?.navigationBar.setBarColour(colour: (theme?.tabBarColour)!, tint: (theme?.textColour)!)

    navigationItem.titleView = resultSearchController?.searchBar
    navigationItem.titleView?.bringSubview(toFront: (resultSearchController?.searchBar)!)
    searchBar.delegate = self
    searchBar.showsSearchResultsButton = true
    searchBar.setImage(#imageLiteral(resourceName: "location_icon.png"), for: UISearchBarIcon.resultsList, state: UIControlState.normal)

    resultSearchController?.hidesNavigationBarDuringPresentation = false
    resultSearchController?.dimsBackgroundDuringPresentation = true
    definesPresentationContext = true

    locationSearchTable.mapView = mapView
    locationSearchTable.handleMapSearchDelegate = self

}

  • Что вы имеете в виду, когда не можете ввести текст, клавиатура не отображается или вы не можете ничего ввести в текстовое поле? 01.07.2017
  • Клавиатура вообще не отображается. Только после того, как вы поменяли вкладки. Я немного опубликую код, сейчас меня нет дома. 01.07.2017
  • Пожалуйста, добавьте скриншоты и дополнительную информацию ... без проблем, чтобы найти проблему 01.07.2017
  • Снимок экрана не поможет, вы нажимаете на строку поиска, чтобы ввести текст, и ничего не происходит. Я пробовал isUserInteractionEnabled, zPositions и layoutsubviews и т. д. ничего не работает. 01.07.2017
  • вы пробовали это на реальном iPhone? Потому что симулятор иногда не показывает клавиатуру, когда она должна 01.07.2017
  • Да, пробовал на iPhone и iPad, без изменений. 01.07.2017
  • Теперь я обновил вопрос и включил некоторый код. 01.07.2017

Ответы:


1

Хорошо, после долгих возни я обнаружил, что в своем пользовательском UITabBarController я использовал override func viewWillAppear(_ animated: Bool) без добавления super.viewWillAppear(), и это вызвало проблему! Я предполагаю, что из-за того, что подвиды не были выложены правильно. Надеюсь, что это поможет любому, у кого есть проблема, похожая на мою.

01.07.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..