如何为 iOS 自定义 GMSAutocompleteViewController?

Tec*_*ain 8 xcode uicolor ios swift gmsautocomplete

我在 ios 中使用 Google 自动完成 placekicker。它向我展示了具有本机设计的控制器。我想自定义它的导航栏颜色。但我无法做到。下面是代码

        let autocompleteController = GMSAutocompleteViewController()
        autocompleteController.tintColor = UIColor.red
        autocompleteController.navigationController?.navigationBar.barTintColor = Constant.AppColor.navigationColor
        autocompleteController.delegate = self
        self.present(autocompleteController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Meh*_*ico 8

我写了这段代码来适应明/暗模式:

迅速

let controller:GMSAutocompleteViewController! = GMSAutocompleteViewController()
if #available(iOS 13.0, *) {
   if UIScreen.mainScreen.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark  {
      controller.primaryTextColor = UIColor.whiteColor
      controller.secondaryTextColor = UIColor.lightGrayColor
      controller.tableCellSeparatorColor = UIColor.lightGrayColor
      controller.tableCellBackgroundColor = UIColor.darkGrayColor
   } else {
      controller.primaryTextColor = UIColor.blackColor
      controller.secondaryTextColor = UIColor.lightGrayColor
      controller.tableCellSeparatorColor = UIColor.lightGrayColor
      controller.tableCellBackgroundColor = UIColor.whiteColor
   }
}
Run Code Online (Sandbox Code Playgroud)

目标-C

GMSAutocompleteViewController *controller = [[GMSAutocompleteViewController alloc] init];
if (@available(iOS 13.0, *)) {
   if(UIScreen.mainScreen.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark ){
      controller.primaryTextColor = UIColor.whiteColor;
      controller.secondaryTextColor = UIColor.lightGrayColor;
      controller.tableCellSeparatorColor = UIColor.lightGrayColor;
      controller.tableCellBackgroundColor = UIColor.darkGrayColor;
   } else {
      controller.primaryTextColor = UIColor.blackColor;
      controller.secondaryTextColor = UIColor.lightGrayColor;
      controller.tableCellSeparatorColor = UIColor.lightGrayColor;
      controller.tableCellBackgroundColor = UIColor.whiteColor;
   }
}
Run Code Online (Sandbox Code Playgroud)

结果:

在此处输入图片说明


Kru*_*nal 4

Google 地点自动完成文档可以帮助您。

根据文档,使用UIAppearanceProtocol来定制视觉主题。

请参阅本文档中的“自定义文本和背景颜色”部分。

在此输入图像描述

在此输入图像描述