2010-07-06 125 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