2017-03-19 7 views
0

GoogleプレイスAPIを使用しており、プログラムで表示コントローラを表示しています。スイフト現在のViewControllerキーボード

ビューが表示されると自動的に選択される検索バーがあり、ビューが表示された瞬間に標準の明るいグレーのキーボードが表示されます。

次のコードを使用して、表示されたviewController 'Dark'でキーボードを作成する方法はありますか?

var opened: String = "NO" 

class selectAddress: UIViewController { 

    // Present the Autocomplete view controller when the button is pressed. 
    //@IBAction func autocompleteClicked(_ sender: UIButton) { 

    override func viewDidAppear(_ animated: Bool) { 



     let autocompleteController = GMSAutocompleteViewController() 
     autocompleteController.delegate = self 



     autocompleteController.tableCellBackgroundColor = UIColor(red: CGFloat(35/255.0), green: CGFloat(35/255.0), blue: CGFloat(43/255.0), alpha: 1.0) 

     autocompleteController.primaryTextColor = UIColor.gray 
     autocompleteController.tableCellSeparatorColor = UIColor.white 
     autocompleteController.primaryTextHighlightColor = UIColor.white 
     autocompleteController.secondaryTextColor = UIColor.gray 
     GMSAutocompleteViewController().tableCellSeparatorColor = UIColor.white 

     let filter = GMSAutocompleteFilter() 
     filter.type = .establishment //suitable filter type 
     //filter.country = "GB" //appropriate country code 
     autocompleteController.autocompleteFilter = filter 

    let barTint = UINavigationBar.appearance() 
     barTint.barTintColor = UIColor(red: CGFloat(48/255.0), green: CGFloat(48/255.0), blue: CGFloat(59/255.0), alpha: 1.0) 





    if opened == "NO" { 
     self.present(autocompleteController, animated: true, completion: nil) 
     opened = "YES" 
    }else{ 
     opened = "NO" 
     performSegue(withIdentifier: "venueSave", sender: self) 


     } 
    // } 
} 
} 

extension selectAddress: GMSAutocompleteViewControllerDelegate { 



    // Handle the user's selection. 
    func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) { 
     print("Place name: \(place)") 
     print("Place address: \(place.formattedAddress)") 
     print("Place attributions: \(place.attributions)") 
     print("Longitude: \(place.coordinate.longitude)") 
     print("Latitude: \(place.coordinate.latitude)") 
     print("Address components: \(place.addressComponents)") 


     let city = place.addressComponents?[2].name 

     print("CITYYYY \(city!)") 

     /* 
     var request = URLRequest(url: URL(string: "https://www.asmserver.co.uk/barduo/addvenue.php")!) 
     request.httpMethod = "POST" 
     let postString = "name=\(facebookID!)&email=\(email!)&firstname=\(firstName!)&lastname=\(lastName!)&link=\(link!)" 
     print(postString) 
     request.httpBody = postString.data(using: .utf8) 
     let task = URLSession.shared.dataTask(with: request) { data, response, error in 
      guard let data = data, error == nil else {             // check for fundamental networking error 
       print("error=\(error)") 
       return 
      } 

      if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {   // check for http errors 
       print("statusCode should be 200, but is \(httpStatus.statusCode)") 
       print("response = \(response)") 
      } 

      let responseString = String(data: data, encoding: .utf8) 

      print("*****\(responseString!)") 

      defaults.set("\(responseString!)", forKey: "id") 

      DispatchQueue.main.async { 
       self.performSegue(withIdentifier: "goNext", sender: self) 
      } 

     } 
     task.resume() 

*/ 

     dismiss(animated: true, completion: nil) 

    } 



    func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) { 
     // TODO: handle the error. 
     print("Error: ", error.localizedDescription) 
    } 

    // User canceled the operation. 
    func wasCancelled(_ viewController: GMSAutocompleteViewController) { 
     dismiss(animated: true, completion: nil) 
    } 

    // Turn the network activity indicator on and off again. 
    func didRequestAutocompletePredictions(_ viewController: GMSAutocompleteViewController) { 
     UIApplication.shared.isNetworkActivityIndicatorVisible = true 
    } 

    func didUpdateAutocompletePredictions(_ viewController: GMSAutocompleteViewController) { 
     UIApplication.shared.isNetworkActivityIndicatorVisible = false 
    } 

    func viewController(viewController: GMSAutocompleteViewController!, didFailAutocompleteWithError error: NSError!) { 
     // TODO: handle the error. 
     print("Error: ", error.description) 
    } 

} 

答えて

1

Iは、次の行を使用し:

UITextField.appearance(whenContainedInInstancesOf:[UISearchBar.self])。keyboardAppearance = .dark

0

yourSearchBarVariable.keyboardAppearance = .darkを試してみてください。

また、不要なコードをこのような簡単な質問に貼り付けないようにしてください。人々は混乱するかもしれません。

関連する問題