テキストビューの基本をマスター:UITextView
テキストビューとは?
複数行のテキスト表示ができるパーツです。
テキストビューを設置
まず、xibファイルに『Text View』を配置します。
配置したらダブルクリックし、適当に複数行のテキストを入力しましょう。
まず、ヘッダーファイルに定義します。
#import <UIKit/UIKit.h>
@interface TestViewController : UIViewController
{
UITextView *tv;
}
@property (nonatomic, retain) IBOutlet UITextView *tv;
@end
次に、ソースファイルに追記します。
#import "TestViewController.h"
@interface TestViewController ()
@end
@implementation TestViewController
@synthesize tv;
- (void)dealloc {
[tv release];
[super dealloc];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
テキストビューの基本機能
テキストビューの基本は「ラベル(UILabel)」に似ていますので、
そちらもご参照下さい。
ここでは、具体例でviewDidLoadに追記してみます。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//テキストの色を白色にする
tv.textColor = [UIColor whiteColor];
//背景色を灰色にする
tv.backgroundColor = [UIColor grayColor];
//左揃えにする
tv.textAlignment = NSTextAlignmentLeft;
//編集可能にする(不可はNO)
tv.editable = YES;
//編集時のキーボードタイプ
tv.keyboardType = UIKeyboardTypeNumberPad;
}
実行すると、以下のようになります。
適当にダブルタップすると、テキストの編集ができます。
以下に、編集時のキーボードタイプだけまとめておきます。
UIKeyboardType | 画像 |
---|---|
UIKeyboardTypeDefault | ![]() |
UIKeyboardTypeAlphabet | ![]() |
UIKeyboardTypeASCIICapable | ![]() |
UIKeyboardTypeNumbersAndPunctuation | ![]() |
UIKeyboardTypeURL | ![]() |
UIKeyboardTypeEmailAddress | ![]() |
UIKeyboardTypeNumberPad | ![]() |
UIKeyboardTypePhonePad | ![]() |
UIKeyboardTypeNamePhonePad | ![]() |
UIKeyboardTypeDecimalPad | ![]() |
UIKeyboardTypeTwitter | ![]() |
プログラムによる生成例
プログラムだけでテキストビューを生成したい場合は、
以下の例のようにします。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//テキストビューを生成する
UITextView *tv = [[UITextView alloc] initWithFrame:CGRectMake(60, 130, 200, 200)];
tv.text = @"iPhoneアプリ開発大百科が、\n皆さんのアプリ開発に\n役立てば嬉しいです。";
//テキストの色を赤色にする
tv.textColor = [UIColor redColor];
//背景色を黄色にする
tv.backgroundColor = [UIColor yellowColor];
//左揃えにする
tv.textAlignment = NSTextAlignmentCenter;
//編集不可にする
tv.editable = NO;
//セットしてメモリ解放
[self.view addSubview:tv];
[tv release];
}
実行すると、以下画像のようになります。