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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...