2017-10-05 3 views
0

ich gerade ein UITableView mit Top-UISearchBar in meine Sicht hinzugefügt, aber nur auf iOS-11, die Tabelle mehr Breite als meine Suchleiste hat, ist dies mein Code:Schrägen Breite in UITableView auf iOS 11

self.autocompleteTableView = UITableView(frame: CGRect(x: self.storeSearchBar.frame.origin.x, y: self.storeSearchBar.frame.origin.y + self.storeSearchBar.frame.size.height, width: self.storeSearchBar.bounds.width, height: 200.0)) 
    self.autocompleteTableView!.alpha = 0.8 
    self.autocompleteTableView!.delegate = self 
    self.autocompleteTableView!.dataSource = self 
    self.autocompleteTableView!.separatorStyle = .none 
    if #available(iOS 11.0, *) { 
     self.autocompleteTableView!.insetsContentViewsToSafeArea = true 
    } 

    self.storeSearchBar.alpha = 0.8 
    self.storeSearchBar.delegate = self 
    self.view.addSubview(self.autocompleteTableView!) 
    self.autocompleteTableView!.isHidden = true 

    let searchBar = self.storeSearchBar! 
    searchBar.barTintColor = UIColor.white 
    searchBar.sizeToFit() 

Was mache ich falsch?

+0

In dem Verfahren werden Sie den Rahmen einstellen? –

+0

Ich setze den Rahmen auf ViewDidload mit dieser Config @MaulikBhuptani –

+1

Versuchen Sie, nur Frame von UITableView & UISearchBar in viewDidLayoutSubviews –

Antwort

0

so, dank @MaulikBhuptani, lautet die Antwort:

override func viewDidLayoutSubviews() { 
    self.autocompleteTableView = UITableView(frame: CGRect(x: 
    self.storeSearchBar.frame.origin.x, y: self.storeSearchBar.frame.origin.y + self.storeSearchBar.frame.size.height, width: self.storeSearchBar.bounds.width, height: 200.0)) 
    self.autocompleteTableView!.alpha = 0.8 
    self.autocompleteTableView!.delegate = self 
    self.autocompleteTableView!.dataSource = self 
    self.autocompleteTableView!.separatorStyle = .none 
    if #available(iOS 11.0, *) { 
     self.autocompleteTableView!.insetsContentViewsToSafeArea = true 
    } 

    self.storeSearchBar.alpha = 0.8 
    self.storeSearchBar.delegate = self 
    self.view.addSubview(self.autocompleteTableView!) 
    self.autocompleteTableView!.isHidden = true 

    let searchBar = self.storeSearchBar! 
    searchBar.barTintColor = UIColor.white 
    searchBar.sizeToFit() 
} 
Verwandte Themen