2012-12-06 10 views
10

UILabelコンポーネントをビューに追加したところ、丸みを帯びたUILabelにしようとしています。私は、同じ問題に関連するいくつかの質問と回答を読んできましたが、それらのすべてはソースコードを変更する必要があると言います。新しいXcode 4.5とiOS6には本当に必要ですか?また、mainstoryboardによって生成されたコードを見ることができるかどうかもわかりません。丸みを帯びたUILabel(Xcode 4.5とiOS 6)

ご協力いただければ幸いです。丸みを帯びた角は、次の手順を実行してUILabelを作るために

多くのおかげで、 マルコス

+0

受け入れてください、私のか、彼らはあなたを助けた場合イスマエルの答え。私は私の評判を得たいと思うし、Ismaelも私は確信している –

答えて

11

#import <QuartzCore/QuartzCore.h> 

、あなたはあなたのUILabel

yourLabel.layer.cornerRadius = 5; 

5を参照する必要は一例であり、もちろん

+0

多くのありがとう。ちょうど最後の質問:このコードを追加する特定の場所はありますか? Xcode Interface Builderで生成されたコードにアクセスできるかどうかはわかりません。このコードを追加する必要のある特別な方法がコントローラにありますか? – vilelam

+0

さて、IBで作成したアウトレット変数UILabel *と接続する必要があります。また、この変数のコーナー半径を設定します。 viewDidLoadまたはviewWillAppearは正常に動作するはずです –

1

あなたは#import "QuartzCore/QuartzCore.h"が必要ですそしてどこかにあなたのコードに

label.layer.cornerRadius = 2.0; // or whatever radius you want 
+0

多くのおかげです。ちょうど最後の質問:このコードを追加する特定の場所はありますか? Xcode Interface Builderで生成されたコードにアクセスできるかどうかはわかりません。このコードを追加する必要のある特別な方法がコントローラにありますか? – vilelam

+0

あなたのセルがどこにあるかによって異なります。あなたはあなたのコントローラ上のリファレンスを持っている必要があります。インターフェースビルダーによって作成されている場合は、これを 'viewDidLoad'メソッドに追加してください。 – Ismael

+0

とてもいいです!私はそれをすることができました。私はviewDidLoadメソッドにコードを追加しました。それはスムーズに動作しています。 – vilelam

-1

はい、それはここでしか他のみんなで述べたように、追加のコードを介して行うことができません。残念ながら、Interface Builderではこれを行うことはできません。

+0

Xcode 4.5の@PradeepReddyKypa? –

12

これはInterface Builderですべて実行できます。
XCodeで、.xibファイル(またはストーリーボード)を選択してInterface Builderを開きます。あなたのUILabelをクリックするとアイデンティティインスペクタを開く(あなたはそれがどこにあるかわからない場合は、XCodeののヘルプメニューに移動し、「アイデンティティインスペクタ」と入力)。 ユーザー定義ランタイムは Attributesペイン下のプラスボタンをクリックし、キーパスためlayer.cornerRadiusを書き、ためタイプ、および5(または他の番号)のためNumberを選びました。
プロジェクトを今実行する場合は、丸みを帯びたUILabelが必要です。

+2

これは「クリップサブビュー」がチェックされている場合にのみ機能します(Xcode 6を使用しています) – mnl

1

「Identity Inspector」の下の「User Defined Runtime Attributes」のキーの1つとしてlayer.cornerRadiusを追加することで、インターフェースビルダーで行うことができます。

1

プロジェクトにquartzcoreフレームワークを追加

import "QuartzCore/QuartzCore.h" 

使用次のコードフレームワーク - 私は(スウィフトで)新しい開発環境のためにそれを行うには、わずかにより良い方法を共有するだろうと思った

label.layer.cornerRadius = 2.0; // radius depend on how much rounded corner you want. 
label.clipsToBounds = TRUE; 
0

を。次のコードでは、コーナー半径を設定できる特別なフィールドがInterface Builderに表示されます。新しいサブセクションでは、「コーナー半径」という項目がある中で、「ビュー」と呼ばれる属性インスペクタ内に表示さ

#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 
関連する問題