ビューに UILabel コンポーネントを追加したばかりで、それを角の丸い UILabel にしようとしています。同じ問題に関連するいくつかの質問と回答を読んでいますが、それらはすべてソースコードを変更する必要があると言っています. 新しい Xcode 4.5 と iOS6 では本当に必要ですか? また、メインストーリーボードによって生成されたコードを確認できるかどうかもわかりません。
どんな助けでも大歓迎です。
どうもありがとう、マルコス
ビューに UILabel コンポーネントを追加したばかりで、それを角の丸い UILabel にしようとしています。同じ問題に関連するいくつかの質問と回答を読んでいますが、それらはすべてソースコードを変更する必要があると言っています. 新しい Xcode 4.5 と iOS6 では本当に必要ですか? また、メインストーリーボードによって生成されたコードを確認できるかどうかもわかりません。
どんな助けでも大歓迎です。
どうもありがとう、マルコス
角を丸くした UILabel を作成するには、次のようにします。
#import <QuartzCore/QuartzCore.h>
次に、UILabel を参照する必要があります
yourLabel.layer.cornerRadius = 5;
もちろん、5は単なる例です
「Identity Inspector」の下の「User Defined Runtime Attributes」のキーの 1 つとして layer.cornerRadius を追加することにより、インターフェイス ビルダーでこれを行うことができます。
#import "QuartzCore/QuartzCore.h"
コードのどこかで行う必要があります
label.layer.cornerRadius = 2.0; // or whatever radius you want
新しい開発環境 (Swift を使用) 向けに、少し良い方法を共有したいと思います。次のコードを使用すると、角の半径を設定できる特別なフィールドが Interface Builder に表示されます。Attributes Inspector 内に「View」という新しいサブセクションが表示され、「Corner Radius」という項目があります。
#if !os(watchOS)
// watchOS UI designer allows setting of a corner radius. For
// iOS and tvOS, an Interface Builder extension is needed.
extension UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
}
#endif
はい、ここで他の人が言及したコードを追加することによってのみ実行できます。残念ながら、Interface Builder は現在それを行うことができません。