(我是个速成的初学者)
上下文
我要实现的目标:
我想为应用程序中屏幕的每个角落设置cornerRadius。
到目前为止,我做了什么?:
// I added the following in appDelegate:didFinishLaunchingWithOptions
self.window?.layer.cornerRadius = 20
self.window?.layer.masksToBounds = true
如果statusBar没有背景色,则可以在屏幕的每个角落正常工作。
如果为statusBar设置了backgroundColor,则仅将屏幕的底角四舍五入。
我怀疑失败的地方: 我怀疑statusBar在该层顶部的一个层内,该层保存着我要在其中设置cornerRadius属性的窗口,这就是为什么它不使用该属性进行渲染的原因。如果statusBar没有backgroundColor(.clear),则它不会覆盖该窗口,因此我可以在屏幕上看到四个圆角。
这就是为什么我尝试设置statusBar的cornerRadius属性的原因:
// Still in appDelegate:didFinishLaunchingWithOptions
UIApplication.shared.statusBarView?.layer.cornerRadius = 20
UIApplication.shared.statusBarView?.layer.masksToBounds = true
UIApplication.shared.statusBarView?.backgroundColor = .blue
self.window?.layer.cornerRadius = 20
self.window?.layer.masksToBounds = true
如果它的值小于其高度,它会在statusBar中圆角;但如果cornerRadius的值大于statusBar的高度,它会开始表现出怪异,并在其自身和NavigationBar之间留出一些空白。
是否可以设置也会影响statusBar的“全局掩码”或“全局属性”?
我认为仅将CornerRadius设置为顶部拐角是可行的,但是,再次,如果cornerRadius高于其高度,则会呈现出一些不需要的空白。
欢迎以其他方式实现我想要的建议
谢谢:)