概述 UITextView可滾動的多行文本區域 UITextView支持使用自定義樣式信息顯示文本,並支持文本編輯。您通常使用文本視圖來顯示多行文本,例如在顯示大型文本文檔的正文時。 UITextView繼承於UIScrollView 屬性和方法 初始化方法 UITextView *textView ...
概述
UITextView
可滾動的多行文本區域UITextView
支持使用自定義樣式信息顯示文本,並支持文本編輯。您通常使用文本視圖來顯示多行文本,例如在顯示大型文本文檔的正文時。UITextView
繼承於UIScrollView
屬性和方法
初始化方法
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(50, 50, [UIScreen mainScreen].bounds.size.width - 100, 300)];
設置文本內容
textView.text = @"測試數據";
attributedText
屬性文本,這裡不多做介紹,具體請點此查看
設置文本的字體
textView.font = [UIFont systemFontOfSize:20];
設置文本的顏色
textView.textColor = [UIColor redColor];
設置是否可以編輯,預設是YES
[textView setEditable:NO];
設置文本的對齊方式
textView.textAlignment = NSTextAlignmentRight;
使用dataDetectorTypes
實現超鏈接,需要將可編輯狀態設置為NO
(更多枚舉類型到補充說明中查看)
textView.text = @"http://baidu.com";
[textView setEditable:NO];
textView.dataDetectorTypes = UIDataDetectorTypeLink;
UITextView
代理方法
即將開始編輯
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;
已經開始編輯
- (void)textViewDidBeginEditing:(UITextView *)textView;
編輯即將結束
- (BOOL)textViewShouldEndEditing:(UITextView *)textView;
編輯已經結束
- (void)textViewDidEndEditing:(UITextView *)textView;
文本視圖在用戶輸入新字元或刪除現有字元時調用此方法
- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text;
輸入的內容已經變化時調用此方法
- (void)textViewDidChange:(UITextView *)textView;
文本視圖的選擇已更改,就會調用此方法
- (void)textViewDidChangeSelection:(UITextView *)textView;
如果用戶點擊或長按文本附件,而其image
屬性不是,則文本視圖將調用此方法nil
。您可以使用此方法觸發一個操作,除了顯示與文本內聯的文本附件外。
- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction;
該方法僅在與URL
鏈接的第一次交互時被調用。例如,當用戶希望首次與URL
進行交互以顯示可以採取的操作列表時,將調用此方法; 如果用戶從列表中選擇一個打開的動作,則不調用此方法,因為“open
”表示與同一個URL
的第二個交互。
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction;
文本視圖中的鏈接只有在文本視圖可選但不可編輯的情況下才是互動式的。也就是說,如果該值屬性是與屬性。UITextViewselectableYESeditableNO
補充說明
UITextView
相關通知
UITextView 相關通知名稱 | 說明 |
---|---|
UITextViewTextDidBeginEditingNotification | TextView 開始編輯時發出的通知 |
UITextViewTextDidChangeNotification | TextView 的內容開始改變時發出的通知 |
UITextViewTextDidEndEditing | TextView 結束編輯時發出的通知 |
UITextView
的dataDetectorTypes
屬性對應的枚舉以及說明
類型 | 說明 |
---|---|
UIDataDetectorTypePhoneNumber | 檢測格式化為電話號碼的字元串。 |
UIDataDetectorTypeLink | 檢測格式為URL的字元串。 |
UIDataDetectorTypeAddress | 檢測格式為地址的字元串。 |
UIDataDetectorTypeCalendarEvent | 檢測格式化為日曆事件的字元串。 |
UIDataDetectorTypeShipmentTrackingNumber | 檢測格式化為包裹遞送公司的跟蹤號碼的字元串。 |
UIDataDetectorTypeFlightNumber | 檢測格式化為航空公司航班號的字元串。 |
UIDataDetectorTypeLookupSuggestion | 檢測格式化為用戶可能要查找的信息的字元串。 |
UIDataDetectorTypeNone | 不支持超鏈接 |
UIDataDetectorTypeAll | 接收所有類型的字元串 |