[解決済み] iPhoneで角丸のUILabelを作成するにはどうすればよいですか?
2022-04-29 08:53:23
質問
角丸のUILabelsを作成する方法は組み込まれているのでしょうか?もし答えがノーなら、そのようなオブジェクトを作成するにはどうしたらよいでしょうか?
どのように解決するのですか?
iOS 3.0以降
iPhone OS 3.0以降では
cornerRadius
プロパティに
CALayer
クラスがあります。すべてのビューは
CALayer
のインスタンスを操作することができます。つまり、1行で角丸を得ることができるのです。
view.layer.cornerRadius = 8;
を必要とします。
#import <QuartzCore/QuartzCore.h>
を作成し、QuartzCore フレームワークにリンクして、CALayer のヘッダーとプロパティにアクセスできるようにします。
iOS 3.0以前
最近使った方法ですが、単純に丸い矩形を描くUIViewのサブクラスを作り、その中にUILabel、私の場合はUITextViewをサブビューとして作るという方法です。具体的には
-
を作成します。
UIView
のサブクラスを作成し、以下のような名前を付けます。RoundRectView
. -
で
RoundRectView
'sdrawRect:
メソッドを使用して、エッジのための CGContextAddLineToPoint() や角丸のための CGContextAddArcToPoint() などの Core Graphics コールを使用してビューの境界の周りにパスを描画します。 -
を作成します。
UILabel
インスタンスを作成し、RoundRectViewのサブビューとします。 -
ラベルの枠をRoundRectViewの枠から数ピクセル内側に設定します。(例
label.frame = CGRectInset(roundRectView.bounds, 8, 8);
)
汎用UIViewを作成し、インスペクタでクラスを変更すれば、Interface BuilderでRoundRectViewをビューに配置することができます。アプリをコンパイルして実行するまで矩形は見えませんが、少なくとも、サブビューを配置し、必要に応じてアウトレットやアクションに接続することができるようになります。
関連
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] クラス vs. #インポート
-
[解決済み] UIViewに角丸をつける
-
[解決済み] ボタンの角を丸くするには?
-
[解決済み] アプリのプレビュー用にiOSシミュレータのビデオをキャプチャー
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] UIViewの左上と右上だけにcornerRadiusを設定する方法は?
-
[解決済み] iOS - UITextFieldの外側をタッチするとキーボードが外れる。
-
[解決済み] NSOperationとGrand Central Dispatchの比較
-
[解決済み] Swift 3, 4, 5 で dispatch_after GCD を書くにはどうしたらいいですか?
-
[解決済み] iphoneアプリのベータテストはどのように行うのですか?
-
[解決済み] iOSとWatchKitで画像のtintColorを変更する方法
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される
-
[解決済み] UILabelの周りにボーダーを描画するには?