UITextView控件的用法詳解

1.創建並初始化
創建UITextView的文件,並在.h文件中寫入如下代碼:

複製代碼
1 #import <UIKit/UIKit.h>
2
3 @interface TextViewController : UIViewController <UITextViewDelegate>{
4 UITextView *textView;
5 }
6
7 @property (nonatomic, retain) UITextView *textView;
8
9 @end
複製代碼

 

在.m文件中初始化這個textview,寫入代碼如下:

複製代碼
 1 self.textView = [[[UITextView  alloc] initWithFrame:self.view.frame] autorelease]; //初始化大小並自動釋放
2
3 self.textView.textColor = [UIColor blackColor];//設置textview裏面的字體顏色
4
5 self.textView.font = [UIFont fontWithName:@"Arial" size:18.0];//設置字體名字和字體大小
6
7 self.textView.delegate = self;//設置它的委託方法
8
9 self.textView.backgroundColor = [UIColor whiteColor];//設置它的背景顏色
10
11 self.textView.text = @"Now is the time for all good developers to come to serve their country.\n\nNow is the time for all good developers to come to serve their country.";//設置它顯示的內容
12
13 self.textView.returnKeyType = UIReturnKeyDefault;//返回鍵的類型
14
15 self.textView.keyboardType = UIKeyboardTypeDefault;//鍵盤類型
16
17 self.textView.scrollEnabled = YES;//是否可以拖動
18
19 self.textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;//自適應高度
20
21 [self.view addSubview: self.textView];//加入到整個頁面中
複製代碼

 

文本字段實現了UITextInputTrait協議,其提供了7個屬性來定義字段處理文本輸入的方式:autocapitalizationType、autocorrectionType、enablesReturnKeyAutomatically、keyboardAppearance、keyboardType、returnKeyType、secureTextEntry。

其它,當文本字段爲空時,placeholder文本以淺灰色顯示,提供一個用戶提示。通過設置clearButtonMode可以指定是否以及何時顯示清除按鈕。
2. UITextView退出鍵盤的幾種方式

(1)如果你程序是有導航條的,可以在導航條上面加多一個Done的按鈕,用來退出鍵盤,當然要先實現UITextViewDelegate。

複製代碼
- (void)textViewDidBeginEditing:(UITextView *)textView {    

UIBarButtonItem *done = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(leaveEditMode)] autorelease];

self.navigationItem.rightBarButtonItem = done;

}

- (void)textViewDidEndEditing:(UITextView *)textView {

self.navigationItem.rightBarButtonItem = nil;

}

- (void)leaveEditMode {

[self.textView resignFirstResponder];

}
複製代碼

(2)如果你的textview裏不用回車鍵,可以把回車鍵當做退出鍵盤的響應鍵。

複製代碼
#pragma mark - UITextView Delegate Methods     

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{

if ([text isEqualToString:@"\n"]) {

[textView resignFirstResponder];

return NO;

}

return YES;

}
複製代碼

 

(3)還有你也可以自定義其他視圖控件加載到鍵盤上用來退出,比如在彈出的鍵盤上面加一個view來放置退出鍵盤的Done按鈕。

複製代碼
 1 UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];  
2
3 [topView setBarStyle:UIBarStyleBlack];
4
5 UIBarButtonItem * helloButton = [[UIBarButtonItem alloc]initWithTitle:@"Hello" style:UIBarButtonItemStyleBordered target:self action:nil];
6
7 UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
8
9
10
11 UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard)];
12
13 NSArray * buttonsArray = [NSArray arrayWithObjects:helloButton,btnSpace,doneButton,nil];
14
15 [doneButton release];
16
17 [btnSpace release];
18
19 [helloButton release];
20
21 [topView setItems:buttonsArray];
22
23 [tvTextView setInputAccessoryView:topView];
24
25 -(IBAction)dismissKeyBoard
26
27 {
28
29 [tvTextView resignFirstResponder];
30
31 }
發佈了10 篇原創文章 · 獲贊 1 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章