8

UIToolbar角を丸くしたものを上に表示したいのですが、一番簡単な方法は何ですか?ツールバーはウィンドウの上に配置されていません。周りに余白があります。ありがとう!

4

2 に答える 2

17

とてもシンプルです。

まず、ViewControllerの.hファイルにUIToolbarのIBOutlet変数を含めます。例えば。

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

これで、View Controllerファイルの.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(およびmasksToBounds)プロパティを使用することCALayerです。ただし、これでは、すべての角を均等に丸めるオプションしかありません。そのプロパティを使用するにUIToolbarは、ツールバーよりも高い別のビューにを配置して、上部のみを丸めることができます。別のビューの下部の角が丸くなっている場合、これはうまく機能します。

ビューを任意の形状にマスクする最も簡単な方法は、のmaskプロパティをCALayernewに設定することCAShapeLayerです。あなたの場合、上部の角だけを丸くするために、または同様のものを使用するCGPathためにを構築します。CAShapeLayerCGPathAddLineToPointCGPathAddArcToPoint

于 2010-07-06T04:35:46.253 に答える