ios 開發UI篇—UITextView
概述
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 | 接收所有型別的字串 |
相關文章
- ios開發UI篇--UILabeliOSUI
- iOS開發UI篇--iOS動畫(Core Animation)總結iOSUI動畫
- iOS開發UI篇--UICollectionView初步入門iOSUIView
- iOS開發UI篇--仿射變(CGAffineTransform)使用小結iOSUIORM
- iOS開發UI篇--一個支援圖文混排的ActionSheetiOSUI
- iOS開發中利用runtime設定UITextView的預設文字iOSUITextView
- iOS開發UI篇--一個側滑選單SlidingMenuiOSUI
- iOS開發UI篇--使用UICollectionView實現一個傾斜列表效果iOSUIView
- Flutter混合開發—iOS篇FlutteriOS
- ios開發-UI高階 HTTP協議iOSUIHTTP協議
- iOS開發UI篇--YXFilmSelectView(一個酷炫的電影選票View)iOSUIView
- Flutter外掛開發---iOS篇FlutteriOS
- iOS開發之網路篇iOS
- iOS開發UI篇--使用CAShapeLayer實現一個音量大小動態改iOSUI
- iOS開發UI篇--使用UICollectionView實現一個列表頭部拉伸效果的案例iOSUIView
- iOS開發小記-基礎篇iOS
- iOS 藍芽開發·基礎篇iOS藍芽
- iOS 開發(二) MVC 架構篇iOSMVC架構
- iOS 開發(三) MVVM 架構篇iOSMVVM架構
- 最佳實踐(2):iOS開發篇iOS
- 玩轉iOS開發:iOS 10 新特性《Siri Kit Intents Extension UI》iOSIntentUI
- iOS開發視訊教程 UI部分:1、iOS概述和架構iOSUI架構
- Swift開發---UITextView通過鍵盤Return回收鍵盤SwiftUITextView
- iOS開發UI篇——一個可擴充套件性極強的樹形控制元件iOSUI套件控制元件
- iOS混合開發庫(GICXMLLayout)五、Texture篇iOSXML
- iOS混合開發庫(GICXMLLayout)七、JavaScript篇iOSXMLJavaScript
- iOS開發之OC篇(3)—— NSArray、NSMutableArrayiOS
- iOS開發撩妹篇——心中所愛iOS
- iOS開發多執行緒篇-概述iOS執行緒
- iOS 開發(一) 程式碼規範篇iOS
- iOS開發-UI高階 Quartz 2D繪圖iOSUIquartz繪圖
- iOS開發UI中懶載入的使用方法iOSUI
- iOS開發基礎篇--NSNotificationCenter使用小結iOS
- 玩轉iOS開發:整合 WeChat SDK - 支付篇iOS
- 13. iOS開發小細節--OC篇iOS
- iOS開發常見問題之綜合篇iOS
- iOS 開發全能工具箱:技術篇iOS
- iOS 開發的一些小技巧篇(1)iOS