ios 開發UI篇—UITextView

来源:https://www.cnblogs.com/jiuyi/archive/2019/03/07/10491848.html
-Advertisement-
Play Games

概述 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結束編輯時發出的通知

UITextViewdataDetectorTypes屬性對應的枚舉以及說明

類型說明
UIDataDetectorTypePhoneNumber 檢測格式化為電話號碼的字元串。
UIDataDetectorTypeLink 檢測格式為URL的字元串。
UIDataDetectorTypeAddress 檢測格式為地址的字元串。
UIDataDetectorTypeCalendarEvent 檢測格式化為日曆事件的字元串。
UIDataDetectorTypeShipmentTrackingNumber 檢測格式化為包裹遞送公司的跟蹤號碼的字元串。
UIDataDetectorTypeFlightNumber 檢測格式化為航空公司航班號的字元串。
UIDataDetectorTypeLookupSuggestion 檢測格式化為用戶可能要查找的信息的字元串。
UIDataDetectorTypeNone 不支持超鏈接
UIDataDetectorTypeAll 接收所有類型的字元串
作者:coder小鵬
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這是我們開啟了bin-log, 我們就必須指定我們的函數是否是1 DETERMINISTIC 不確定的2 NO SQL 沒有SQl語句,當然也不會修改數據3 READS SQL DATA 只是讀取數據,當然也不會修改數據4 MODIFIES SQL DATA 要修改數據5 CONTAINS SQL ...
  • [20190306]共用服務模式與SDU.txt--//一些文檔提到共用服務模式,服務端SDU=65535,測試驗證看看.--//鏈接:https://blogs.sap.com/2013/02/07/oracle-sqlnet-researching-setting-session-data-un ...
  • 查看更多寶典,請點擊《金三銀四,你的專屬面試寶典》 第一章:mysql資料庫 1)mysql與mariaDb MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可 MariaDB的目的是完全相容MySQL,包括API和命令行,使之能輕鬆成為MySQL的代替品。 ...
  • 查看已存在的資料庫 建庫 刪庫 建表 修改表名 修改欄位名 修改欄位屬性 刪除欄位 刪表 ps:刪除有關聯的表時,先刪除子表再刪父表 建視圖 刪視圖 ps:刪除視圖,必須有DROP許可權 整理以上參考的文章鏈接如下: https://www.cnblogs.com/sqbk/p/5806797.htm ...
  • 【錯誤】 【問題分析】 line 3: 定義 NUM_VAL varchar2(500); line 9: NUM_VAL := 'NUM'+1; NUM_VAL是一個varchar類型的數據,而在資料庫語法中,字元串拼接要使用 || ,如果使用 + 則預設為數值類型。在使用java、c#、js一般 ...
  • 前文 "通用型的中文編程語言探討之一: 高考" 是基於現有英文編程語言的一個技術思路. 在 "這個回答" 以及下麵的討論中, 又提到了編程其實是人機交互的一種形式. 不禁試著跳出程式員視角看這個問題. 幾年前才發現Mozilla的火狐瀏覽器早在2008年開始了一個叫Ubiquity的項目, 而且根據 ...
  • NSAttributedString NSAttributedString對象管理適用於字元串中單個字元或字元範圍的字元串和關聯的屬性集(例如字體和字距)。NSAttributedString對象的預設字體是Helvetica 12點,可能與平臺的預設系統字體不同。因此,您可能希望創建適用於您的應用 ...
  • 在android中,如何將html代碼轉換為text,然後顯示在textview中呢,有一個簡單直接的方法: 然而用的時候卻發現html裡面的圖片沒法被被解析出來,別慌,Html還有一個方法: 其中,我們可以自定義imageGetter,這個對象是用於解析html中的圖片。 最終調用: textVi ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...