我正在寻找改变颜色GMSAutocompleteViewController
这是我得到的:
我希望文本字段为白色,带有白色取消按钮。
斯威夫特 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)
}
有关您可以在此处编辑的内容的更多信息....感谢上帝,他们更新了他们的框架和文档!干杯!
最新版本的 iOS 版 Google Places SDK (1.13) 增加了对在GMSAutocompleteViewController
. 在线指南中有很好的概述。
在didFinishLaunchingWithOptions 中添加以下代码
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
if #available(iOS 9.0, *) {
UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).defaultTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
} else {
// Fallback on earlier versions
}
改变颜色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()
会做的伎俩,为我工作。
我在使用 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 中可用的任何自定义颜色。
视图控制器的视图可以通过它的 view 属性访问,该属性只是一个普通的 UIView。UIView 有一个 backgroundColor 属性,它是一个 UIColor 并控制视图的颜色。
这是更改背景颜色的示例代码:
self.view.backgroundColor = UIColor.yellowColor()