4

我正在寻找改变颜色GMSAutocompleteViewController

这是我得到的:

截屏

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

4

6 回答 6

6

斯威夫特 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)
    }

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

于 2017-02-22T13:59:40.343 回答
0

最新版本的 iOS 版 Google Places SDK (1.13) 增加了对在GMSAutocompleteViewController. 在线指南中有很好的概述。

于 2016-04-12T02:09:26.280 回答
0

在didFinishLaunchingWithOptions 中添加以下代码

UINavigationBar.appearance().tintColor = UIColor.whiteColor()

if #available(iOS 9.0, *) {
   UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).defaultTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
} else {
   // Fallback on earlier versions
}
于 2016-07-21T15:16:31.157 回答
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()

会做的伎俩,为我工作。

于 2016-07-27T10:36:36.997 回答
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 中可用的任何自定义颜色。

于 2017-02-22T09:45:06.703 回答
-1

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

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

self.view.backgroundColor = UIColor.yellowColor()
于 2016-02-19T17:30:55.093 回答