ios - स्विफ्ट में नेविगेशन बार में खोज बार प्राप्त करें



xcode swift (4)

आपके विचार नियंत्रक में:

lazy var searchBar = UISearchBar(frame: CGRectZero)

override func viewDidLoad() {
    super.viewDidLoad()

    searchBar.placeholder = "Search"

    navigationItem.titleView = searchBar
}

इसे इस तरह से करना, नैविगेशन Item.titleView सेट करके, खोज बार स्वचालित रूप से iPhone और iPad उपकरणों पर केंद्रित होता है। नोट: केवल v8.4 और v9.0 के साथ परीक्षण किया गया

स्विफ्ट 3 के लिए

lazy var searchBar = UISearchBar(frame: CGRect.zero)

https://ffff65535.com

इसलिए मैंने स्विफ्ट में नेविगेशन बार में एक खोज पट्टी प्राप्त करने की कोशिश में सब कुछ आज़माया है। लेकिन दुख की बात है कि मैंने इसे काम नहीं किया है, अभी तक ...

आप में से जो नहीं जानते हैं कि मैं किस बारे में बात कर रहा हूं, मैं ऐसा कुछ करने की कोशिश कर रहा हूं

नेविगेशन बार में खोज पट्टी पर ध्यान दें। तो यहाँ मैं वर्तमान में क्या उपयोग कर रहा हूँ

self.searchDisplayController?.displaysSearchBarInNavigationBar = true

मुझे लगता है कि मेरे viewDidLoad में पॉप अप किया गया है, और फिर जब मैं ऐप को लोड कर रहा हूं, तो मैं एक खाली नेविगेशन बार के साथ प्रस्तुत कर रहा हूं .... :( कोई विचार?


इसे इस्तेमाल करे

var leftNavBarButton = UIBarButtonItem(customView:Yoursearchbar)
  self.navigationItem.leftBarButtonItem = leftNavBarButton

अद्यतन करें

आप एक आलसी UISearchBar संपत्ति रखते हैं

lazy   var searchBar:UISearchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 20))

ViewDidLoad में

searchBar.placeholder = "Your placeholder"
var leftNavBarButton = UIBarButtonItem(customView:searchBar)
self.navigationItem.leftBarButtonItem = leftNavBarButton

यदि आप स्टोरीबोर्ड का उपयोग करना चाहते हैं तो अपने सर्चबार को एक आउटलेट के रूप में खींचें, फिर आलसी संपत्ति को अपने आउटलेट सर्चबार से बदल दें


    // create the search bar programatically since you won't be
    // able to drag one onto the navigation bar
    searchBar = UISearchBar()
    searchBar.sizeToFit()

    // the UIViewController comes with a navigationItem property
    // this will automatically be initialized for you if when the
    // view controller is added to a navigation controller's stack
    // you just need to set the titleView to be the search bar
    navigationItem.titleView = searchBar

    let searchBar = UISearchBar()
    searchBar.sizeToFit()
    searchBar.placeholder = ""
    self.navigationController?.navigationBar.topItem?.titleView = searchBar




uisearchbar