8

我想UIToolbar在顶部显示一个圆角,最简单的方法是什么?工具栏未在窗口上对齐;它周围都有边距。谢谢!

4

2 回答 2

17

非常简单。

首先 - 在视图控制器的 .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];
}
于 2010-07-06T04:56:35.430 回答
3

圆角视图的最简单方法是使用 的cornerRadius(and masksToBounds) 属性CALayer。但是,您只能选择将所有角均等化。要使用该属性,您可以将其UIToolbar放入比工具栏高的另一个视图中,因此只有顶部是圆形的。如果另一个视图具有圆角底角,这将很有效。

将视图屏蔽为任意形状的最简单方法是将 的mask属性设置CALayer为新的CAShapeLayer. CGPath在您的情况下,为CAShapeLayerusingCGPathAddLineToPoint和或类似构建一个CGPathAddArcToPoint以仅使顶角变圆。

于 2010-07-06T04:35:46.253 回答