【问题标题】:First row of tableview partially covered第一行 tableview 部分覆盖
【发布时间】:2018-05-11 18:38:54
【问题描述】:

我正在实现 Google Places API,当我按照他们提供的代码时,第一行被导航栏覆盖。我已经尝试过包含标题并且没有标题文本。在这两种情况下,该行的顶部都被覆盖。我需要添加一些东西来向下移动表格视图吗?

import UIKit
import GooglePlaces

class SearchGooglePlacesController: UIViewController {

var resultsViewController: GMSAutocompleteResultsViewController?
var searchController: UISearchController?
var resultView: UITextView?

override func viewDidLoad() {
    super.viewDidLoad()
    navigationItem.title = "Search for Resturant"
    view.backgroundColor = .seGrey
    resultsViewController = GMSAutocompleteResultsViewController()
    resultsViewController?.delegate = self

    searchController = UISearchController(searchResultsController:      
resultsViewController)
    searchController?.searchResultsUpdater = resultsViewController

    searchController?.searchBar.sizeToFit()
    navigationItem.titleView = searchController?.searchBar

    definesPresentationContext = true
    searchController?.hidesNavigationBarDuringPresentation = false

}
}

extension SearchGooglePlacesController:    
GMSAutocompleteResultsViewControllerDelegate {

func resultsController(_ resulstsController:   
 GMSAutocompleteResultsViewController, didAutocompleteWith place:  
 GMSPlace) {
    searchController?.isActive = false

    print("Place name: \(place.name)")
    print("Place attributions: \(place.types)")
    print("Place location: \(place.formattedAddress ?? "")")
    let name = place.name
}

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

// 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
}
}

【问题讨论】:

  • 我没用过这个 api 但我想知道你是用你自己的表格视图来显示信息还是那个表格视图来自 GooglePlaces api?
  • 来自 Google API 的那个。我只有两个视图控制器。我的家庭控制器将我带到这里和 SearchGooglePlacesController。
  • 在这种情况下,您可以尝试访问包含表格视图的视图控制器的视图,为其分配一个新框架,或者您可以尝试给表格视图标题视图高度。

标签: swift uitableview uinavigationcontroller uinavigationbar google-places-api


【解决方案1】:

我必须在 viewDidLoad 中使用它 self.extendedLayoutIncludesOpaqueBars = true self.edgesForExtendedLayout = .top

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 2015-03-14
    • 2020-01-29
    • 1970-01-01
    相关资源
    最近更新 更多