应用程序中带有状态栏的圆角屏幕角落

时间:2012-05-16 12:58:09

标签: iphone ios cocoa-touch uiwindow

如何在显示状态栏的同时在屏幕上实现圆角?

在应用程序委托中,我将这些设置应用于窗口:

[self.window.layer setCornerRadius:10.0];
[self.window.layer setMasksToBounds:YES];
self.window.layer.opaque = NO;

但是在屏幕的顶部,由于状态栏,我没有看到圆角。这是一个问题,因为我也需要应用程序中的状态栏。

有人可以建议我如何解决这个问题吗?

4 个答案:

答案 0 :(得分:1)

如果要保留状态栏并仍然看到圆角边缘,则必须围绕视图的边缘而不是窗口。

在这种情况下,您的代码几乎相同,但应用于视图:

[self.view.layer setCornerRadius:10.0];
[self.view.layer setMasksToBounds:YES];
self.view.layer.opaque = NO;

这将进入视图控制器。

答案 1 :(得分:0)

要删除状态栏吗?或者您是否想要绕过状态栏的角落?如果您想要绕过状态栏的角落,快速而简单的答案是您不能。如果要删除状态栏,这很简单:

来自Apple Class Reference:

  

<强> setStatusBarHidden:withAnimation:

     

隐藏或显示状态栏,可选择为过渡设置动画。 -   (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation Parameters

     

隐藏YES以隐藏状态栏,NO显示状态栏。

     

animation一个常量,表示是否应该有   动画,如果有人要求,是否应该淡化状态   栏入或出或是否应将状态栏滑入或滑出。

答案 2 :(得分:0)

viewWillAppear方法中添加以下行。它将为视图提供圆形lookNfeel。为此,包括'QuartzCore`框架。

self.view.layer.cornerRadius = 10.0

希望这对你有所帮助。

答案 3 :(得分:0)

我知道这个问题很旧,但只是把

func applicationDidBecomeActive(_ application: UIApplication) {
    window?.layer.cornerRadius = 10
    window?.clipsToBounds = true
    window?.backgroundColor = UIColor.black
}
在您的AppDelegate.swift中

,您的应用中的所有地方都有圆角:D