cornerRadius
のUILabel
プロパティを設定しています。 iOS < 7.1
のすべてのバージョンで正常に動作します。私が使用した次のコード、
UILabel *originaltagLbl = [[UILabel alloc]initWithFrame:CGRectMake(startX, startY, 100,30)];
[originaltagLbl setFont:[UIFont fontWithName:@"MuseoSans-500" size:15]];
[originaltagLbl setTextAlignment:NSTextAlignmentCenter];
[originaltagLbl setTextColor:UIColorFromRGB(0xffffff)];
originaltagLbl.backgroundColor = [UIColor redColor];
originaltagLbl.layer.cornerRadius = 5;
originaltagLbl.layer.borderColor = [UIColor redColor].CGColor;
originaltagLbl.layer.borderWidth = 1;
[scrollView addSubview:originaltagLbl];
これを使用する場合、単にラベルを四角形のボックスとして表示するだけなので、iOS 7.1
でUILabel
の角の半径を設定する方法
コードに次の行を追加します。
originaltagLbl.layer.masksToBounds = YES;
詳細については、 this SO answer、または documentation を参照してください。
スイフト3/4/5
yourlabel.layer.cornerRadius = 8 //your desire radius
yourlabel.layer.masksToBounds = true
UILabelのclipsToBounds
プロパティをYESに設定してみてください
ClipsToBoundsが7.1で機能するのは事実ですが、問題はスクロール/アニメーション化が非常に遅く、すべてが遅延する状況にあります。
必要なのは、uiviewではなくレイヤーの背景色を設定することだけです。
Swift 2ソリューション:
@IBOutlet weak var your_label: UILabel!
your_label.layer.cornerRadius = 5
your_label.layer.masksToBounds = true
以下のコードを使用できますが、
[[myLabel layer] setCornerRadius:5.0f];
[[myLabel layer] setMasksToBounds:YES];
おかげで、