web-dev-qa-db-ja.com

UIlabel layer.cornerRadiusがiOS 7.1で機能しない

現在、プロパティaddMessageLabel.layer.cornerRadius = 5.0f;を持つUILabelを探しています。iOS7.0がインストールされているデバイスでは、角が丸くなっています。 iOS 7.1がインストールされているデバイスでは、角が丸くありません。

これはiOS 7.1の単なるバグですか?

176
Mike V

プロパティclipsToBoundsをtrueに設定します

addMessageLabel.clipsToBounds = true
460
Raheel Sadiq

角の半径を設定する最良の方法は次のとおりです。

enter image description here

[クリップサブビュー]がオンになっていることを確認してください:

enter image description here

「クリップサブビュー」のチェックは、コードaddMessageLabel.clipsToBounds = YES;と同じです。

63
Allen

以下の2行を追加して確認します。

[[addMessageLabel layer] setCornerRadius:5.0f];
[[addMessageLabel layer] setMasksToBounds:YES];

OR

[addMessageLabel setClipsToBounds:YES];
22
Tapas Pal

私の問題は少し異なっていました。

didbtn.clipsToBounds = trueを行います

私はやって設定していませんでした:

btn.layer.cornerRadius = 20

画面サイズが異なるためです。代わりに、私は this answerに従い、実行しました:

override func layoutSubviews() {
    seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}

super.layoutSubviews()を追加するのを忘れたため、機能していませんでした。正しいコードは次のとおりです。

override func layoutSubviews() {
    super.layoutSubviews()
    seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
4
Honey

私は以下のものを試しましたが、成功した出力を得ました。

yourlabelname.layer.cornerRadius = 10.0f;
[yourlabelname setClipsToBounds:YES];

あなたを止める何か他のものはありますか?

3
Mano Rajendran

Xcodeバージョン10.1(10B61)バージョンを使用しています。ビューの場合、Interface Builder自体にCorner Radiusプロパティが表示されます。設定されると、ストーリーボードに直接反映されません。しかし、アプリの変更を確認できます!!!

enter image description here

0
BharathRao
 //works perfect in Swift 2.0 for a circular or round image          


@IBOutlet var theImage: UIImageView!
        override func viewDidLoad() {
            super.viewDidLoad()
    //Make sure the width and height are same
            self.theImage.layer.cornerRadius = self.theImage.frame.size.width / 2
            self.theImage.layer.borderWidth = 2.0
            self.theImage.layer.borderColor = UIColor.whiteColor().CGColor
            self.theImage.clipsToBounds = true

        }
0
Naishta
yourlabelname.layer.cornerRadius = yourlabelname.frame.size.width/2;
[yourlabelname setClipsToBounds:YES];

適切な展開ターゲットで確認していることを確認してください。

0
iAmita Singh