UITextFieldやUITextView等での枠線、radiusについて。
環境:
OS:Mountain Lion
Xcode:4.4
ストーリーボード使用
Date:2012/8/24
*な・ぜ・か
ストーリーボード上じゃUITextView等で、枠線をつけたり角を丸めたりできないみたいです。
コード上ならできるんですけど、ぐぐって出てくる情報じゃなぜかエラーになってできなかったので書いておきます。
UIViewControllerに対応するクラスを作っていて、Classを接続している前提で進めます。
*outletを接続
いつもの方法で、コードと部品を対応付けます。
EditorをAssistant Editor(真ん中のやつ)にして、部品からコントロールを押しながらViewControllerのヘッダー部分にドロップ
適当に名前をつけますが、ここではtextFieldという名前だと仮定します。
*ヘッダー追加
ViewControllerのヘッダーに、
>|?|
#import <QuartzCore/QuartzCore.h>
||<
と、import文を追加してください。
これが無いと
Property 'borderWidth' cannot be found in forward class object 'CALayer'
Property 'cornerRadius' cannot be found in forward class object 'CALayer'
だったりっていうエラーが出ちゃいます。怖い怖い
*コードを書く
ViewControllerの実行ファイル(*.m)の、viewDidLoad等に、以下の2行を追加。
>||
textField.layer.borderWidth = 1.0; //枠線の太さ
textField.layer.cornerRadius = 10.0; //角丸の半径
||<
数字は適当に変えてください。
完成版
ViewController.h
>||
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextView *textField;
@end
||<
ViewCOntroller.m
>||
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
textField.layer.borderWidth = 1.0;
textField.layer.cornerRadius = 10.0;
}
||<
こんな感じになってくれる。