我想围绕UINavigationBar的右上角和左上角 .
我知道有更改视角半径的功能,但是可以做一些类似于标准UINavigationBar的操作吗?
如果你不想谈论,请看看:
谢谢!
最好的方法是覆盖UINavigationBar中的drawRect并使用自定义图像 .
以下代码适用于我(在iOS5上测试) . 以下代码围绕主导航栏的左上角/右上角 . 此外,它增加了一个阴影:
CALayer *capa = [self.navigationController navigationBar].layer; [capa setShadowColor: [[UIColor blackColor] CGColor]]; [capa setShadowOpacity:0.85f]; [capa setShadowOffset: CGSizeMake(0.0f, 1.5f)]; [capa setShadowRadius:2.0f]; [capa setShouldRasterize:YES]; //Round CGRect bounds = capa.bounds; bounds.size.height += 10.0f; //I'm reserving enough room for the shadow UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii:CGSizeMake(10.0, 10.0)]; CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.frame = bounds; maskLayer.path = maskPath.CGPath; [capa addSublayer:maskLayer]; capa.mask = maskLayer;
您可能会觉得这很有帮助 . 也许你也可以用CoreAnim / Image进行某种掩饰?我不太了解Core *系列......
http://foobarpig.com/iphone/uinavigationbar-with-solid-color-or-image-background.html
3 回答
最好的方法是覆盖UINavigationBar中的drawRect并使用自定义图像 .
以下代码适用于我(在iOS5上测试) . 以下代码围绕主导航栏的左上角/右上角 . 此外,它增加了一个阴影:
您可能会觉得这很有帮助 . 也许你也可以用CoreAnim / Image进行某种掩饰?我不太了解Core *系列......
http://foobarpig.com/iphone/uinavigationbar-with-solid-color-or-image-background.html