Swift 导航栏和视图背景颜色
Swift Navigationbar and view background color
我正在尝试创建一个 UINavigationBar 和 UIView 的背景颜色相同的应用程序。
这是我所做的:
- 创建了自定义UINavigationBar(继承自UINavigationBar)
- 创建了自定义UIView(继承自UIView)
然后我在customUINavigationBar
中添加了以下代码:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.backgroundColor = Colors.turquoise
let attributes = [NSFontAttributeName: UIFont(name: "AppleGothic", size: 20)!, NSForegroundColorAttributeName: UIColor.whiteColor()]
self.titleTextAttributes = attributes
for parent in self.subviews {
for child in parent.subviews {
if child is UIImageView {
child.removeFromSuperview()
}
}
}
}
我也尝试将 self.barTintColor = Colors.turquoise
和 self.tintColor = Colors.turquoise
添加到 init 函数,但这不会改变结果。
在我的 customUIView
class 中,我有以下代码:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.backgroundColor = Colors.turquoise
}
Colors.turquoise
来自包含这行代码的自定义 class:
static var turquoise = UIColor(red: 132/255, green: 217/255, blue: 217/255, alpha: 1.0)
上面代码的结果如截图所示。如您所见,导航栏和视图之间的颜色略有不同。如何获得相同的颜色而导航栏和视图没有任何差异?
提前致谢!
为您的颜色使用浮点值“132.f/255.f green:217.f/255.f blue:217.f/255.f”
我在 objective-c 中创建了 UINavigationBar 的相同子类:
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
self.translucent = NO;
self.opaque = YES;
self.barTintColor = [UIColor colorWithRed:132.f/255.f green:217.f/255.f blue:217.f/255.f alpha:1.0];
}
return self;
}
它按预期工作:
我正在尝试创建一个 UINavigationBar 和 UIView 的背景颜色相同的应用程序。
这是我所做的:
- 创建了自定义UINavigationBar(继承自UINavigationBar)
- 创建了自定义UIView(继承自UIView)
然后我在customUINavigationBar
中添加了以下代码:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.backgroundColor = Colors.turquoise
let attributes = [NSFontAttributeName: UIFont(name: "AppleGothic", size: 20)!, NSForegroundColorAttributeName: UIColor.whiteColor()]
self.titleTextAttributes = attributes
for parent in self.subviews {
for child in parent.subviews {
if child is UIImageView {
child.removeFromSuperview()
}
}
}
}
我也尝试将 self.barTintColor = Colors.turquoise
和 self.tintColor = Colors.turquoise
添加到 init 函数,但这不会改变结果。
在我的 customUIView
class 中,我有以下代码:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.backgroundColor = Colors.turquoise
}
Colors.turquoise
来自包含这行代码的自定义 class:
static var turquoise = UIColor(red: 132/255, green: 217/255, blue: 217/255, alpha: 1.0)
上面代码的结果如截图所示。如您所见,导航栏和视图之间的颜色略有不同。如何获得相同的颜色而导航栏和视图没有任何差异?
提前致谢!
为您的颜色使用浮点值“132.f/255.f green:217.f/255.f blue:217.f/255.f”
我在 objective-c 中创建了 UINavigationBar 的相同子类:
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
self.translucent = NO;
self.opaque = YES;
self.barTintColor = [UIColor colorWithRed:132.f/255.f green:217.f/255.f blue:217.f/255.f alpha:1.0];
}
return self;
}
它按预期工作: