Google会映射自动填充更改颜色

时间:2016-02-17 11:12:16

标签: ios swift google-maps uitextfield gmsautocomplete

我正在搜索GMSAutocompleteViewController

的更改颜色

这是我得到的:

Screenshot

我希望文本字段为白色,并带有白色取消按钮。

6 个答案:

答案 0 :(得分:2)

Swift 3

@IBAction func searchCityBtn(_ sender: Any) {
        let autocompleteController = GMSAutocompleteViewController()
        autocompleteController.delegate = self
        UINavigationBar.appearance().barTintColor = UIColor(red: 44.0/255, green: 44.0/255, blue: 49.0/255, alpha: 1.0)
        UINavigationBar.appearance().tintColor = UIColor.white

        UISearchBar.appearance().setTextColor(UIColor.white)
        UISearchBar.appearance().barStyle = UIBarStyle.default
        UISearchBar.appearance().setPlaceholderTextColor(.white)
        UISearchBar.appearance().setSearchImageColor(.white)

        self.present(autocompleteController, animated: true, completion: nil)
    }

有关您可以编辑的内容的更多信息here .... 感谢上帝,他们更新了他们的框架和doc!干杯!

答案 1 :(得分:0)

Google Places SDK for iOS(1.13)的最新版本增加了对GMSAutocompleteViewController中自定义颜色的额外支持。在the online guide中有一个很好的概述。

答案 2 :(得分:0)

didFinishLaunchingWithOptions

中添加以下代码
  if(e.parameter.objection) {
    var id = e.parameter.objection;
    s +=     '<script type="text/javascript">'
      +      'goTo(' + id + ');'
      +      '</script>';
    }

答案 3 :(得分:0)

更改GMSAutocompleteViewController

的颜色

做以下事情:

- 创建一个新的NSObject类来设置UITextField的属性

.h文件

@interface HelperClass : NSObject

+(void)setTextFieldAttributes;

@end

.m文件

@implementation HelperClass


+(void)setTextFieldAttributes{


    [[UITextField appearanceWhenContainedIn:[UISearchBar class], nil]
     setDefaultTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
    [[UITextField appearance] setTintColor:[UIColor whiteColor]];

}

@end

然后在ControllerClass: GMSAutocompleteViewController

UItextFieldGoogleHelperClass.setTextFieldAttributes()

会做的,为我工作。

答案 4 :(得分:0)

我在使用Google Maps API时面临同样的问题,并通过以下代码行找到了我的解决方案:

[[UITextField appearanceWhenContainedIn:[<Object of your Google Maps API class(like GMSAutocompleteViewController)>.searchDisplayController.searchBar class], nil] setDefaultTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

在制作Google Maps API类的对象之后以及出示该课程之前添加上述行。

上面接受的答案也适用于这种情况并且很明显,但是这行代码将为搜索栏中的文本设置默认的黑色。

通过使用我的答案,可以将文本颜色更改为iOS中可用的任何自定义颜色。

答案 5 :(得分:-1)

视图控制器的视图可以通过它的view属性访问,它只是一个常规的UIView。 UIView有一个backgroundColor属性,它是一个UIColor并控制视图的颜色。

以下是更改背景颜色的示例代码:

self.view.backgroundColor = UIColor.yellowColor()