2010-07-06 121 views
7

我想显示顶部有圆角的UIToolbar,最简单的方法是什么?工具栏没有在窗口顶部对齐;它周围有余地。谢谢!带圆角的UIToolbar

回答

16

很简单。

首先 - 在视图控制器的.h文件中有一个UIToolbar的IBOutlet变量。例如, 。

@interface TextFormattedViewController : UIViewController { 
    IBOutlet UIToolbar *tBar; 
} 

现在,在您的视图控制器文件的.m文件只是将下面的代码&,将工作作为你的魔法。但是,如果有任何疑问,请添加评论。

#import "TextFormattedViewController.h" 
#import <QuartzCore/QuartzCore.h> 
@implementation TextFormattedViewController 
- (void)viewDidLoad { 
    // following statement is must. 
    tBar.clipsToBounds=YES; 
    CALayer *l=tBar.layer; 
    // set corner radious 
    [l setCornerRadius:10]; 
    // to apply border on corners 
    [l setBorderColor:[[UIColor redColor] CGColor]]; 
    // to apply set border width. 
    [l setBorderWidth:5.0]; 
} 
+1

谢谢你的建议!为了获得最佳效果,我们只能更改setCornerRadius(并放弃最后两次调用)。它产生很好的抗锯齿圆角。然而,所有四个角都圆了...... – rjobidon 2010-07-08 00:53:48

2

圆角视图的最简单方法是使用CALayercornerRadius(和masksToBounds)属性。但是,有了这个,你只能选择平分所有角落。要使用该属性,可以将UIToolbar置于比工具栏高的另一个视图中,因此只有顶部被舍入。如果另一种观点将圆角化,这将很有效。

将视图遮罩到任意形状的最简单方法是将CALayermask属性设置为新的CAShapeLayer。在你的情况下,使用CGPathAddLineToPointCGPathAddArcToPoint或类似的方法为CAShapeLayer构建一个CGPath,以仅获得四舍五入的顶角。

+0

+1有关掩蔽的提示。 – Anton 2012-04-10 23:23:48