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篇--UICollectionView初步入門iOSUIView
- iOS開發UI篇--iOS動畫(Core Animation)總結iOSUI動畫
- iOS開發UI篇--仿射變(CGAffineTransform)使用小結iOSUIORM
- iOS開發UI篇--一個側滑選單SlidingMenuiOSUI
- iOS開發UI篇--一個支援圖文混排的ActionSheetiOSUI
- iOS開發UI篇--使用UICollectionView實現一個傾斜列表效果iOSUIView
- Flutter混合開發—iOS篇FlutteriOS
- iOS開發UI篇--YXFilmSelectView(一個酷炫的電影選票View)iOSUIView
- iOS開發UI篇--使用CAShapeLayer實現一個音量大小動態改iOSUI
- Flutter外掛開發---iOS篇FlutteriOS
- iOS開發UI篇--使用UICollectionView實現一個列表頭部拉伸效果的案例iOSUIView
- iOS開發小記-基礎篇iOS
- iOS混合開發庫(GICXMLLayout)五、Texture篇iOSXML
- iOS開發之OC篇(3)—— NSArray、NSMutableArrayiOS
- iOS混合開發庫(GICXMLLayout)七、JavaScript篇iOSXMLJavaScript
- iOS開發UI篇——一個可擴充套件性極強的樹形控制元件iOSUI套件控制元件
- iOS開發基礎篇--NSNotificationCenter使用小結iOS
- 13. iOS開發小細節--OC篇iOS
- 輕鬆教你React Native 混合開發(iOS篇)React NativeiOS
- iOS開發UI第三方庫-小紅點&pageiOSUI
- android ios UIAndroidiOSUI
- iOS開發規範篇:清晰的初始化方法iOS
- IOS 初級開發入門教程(一)介紹篇iOS
- iOS開發·runtime原理與實踐: 基本知識篇iOS
- HarmonyOS UI 開發UI
- iOS 開發iOS
- 在iOS中運用React Component的思路,效率更高的開發UI,更好的複用UI元件iOSReactUI元件
- iOS開發基礎篇--CAShapeLayer的strokeStart和strokeEnd屬性iOS
- 《iOS 開發輔助篇》使用OmniGraffle匯出Xcode類圖iOSXCode
- iOS開發資料儲存篇—iOS中的幾種資料儲存方式iOS
- 玩轉iOS開發:iOS中的NSOperation開發(一)iOS
- SAP UI 和 Salesforce UI 開發漫談UISalesforce
- iOS開發原始碼閱讀篇--FMDB原始碼分析1(FMResultSet)iOS原始碼
- iOS開發原始碼閱讀篇--FMDB原始碼分析2(FMResultSet)iOS原始碼
- 玩轉iOS開發:裝逼技術RunTime的總結篇iOS
- 混合開發實戰:App里拉起一個小程式(IOS篇)APPiOS
- iOS開發:UIAlertViewiOSUIView
- iOS 開發薪水iOS