Swift 限制 TextField 輸入字元數量

2021-09-25 09:35:38 字數 1264 閱讀 8794

效果圖 

方法:

/// 限制 textfield 字元輸入數量

////// - parameters:

///   - textfield: 使用者輸入的textfield

///   - range: 例如貼上或者選中一段文字所占用的範圍

///   - string: 使用者將要輸入的字元

/// - returns: 是否允許使用者輸入到。textfield

func textfield(_ textfield: uitextfield, shouldchangecharactersin range: nsrange, replacementstring string: string) -> bool

原理:判斷使用者輸入字串後是 textfield 中字元數量否會超過限定範圍

獲取 textfield 新增了字元之後的數量: 

let textlength = text.characters.count + string.characters.count - range.length

解析:textfield 對於在textfield中選中多個字元替換文字的時候,是先將其中的的選中文字刪除(選中範圍儲存到range中),然後再新增新的字元,若非選中多個刪除則是刪除長度 range.length = 1 的字元,若是選中一段文字則是直接刪除長度為 range.length 的文字

**:

// 首先讓控制器遵循 uitextfielddelegate 的**

class viewcontroller: uiviewcontroller , uitextfielddelegate

// 然後要讓指定 textfield 的**

mytextfield.delegate = self

// 利用**方法控制字元數量

func textfield(_ textfield: uitextfield, shouldchangecharactersin range: nsrange, replacementstring string: string) -> bool

let textlength = text.characters.count + string.characters.count - range.length

return textlength<=8

}

Swift 訪問限制

在swift語言中,訪問修飾符有三種,分別為private,internal和public。swift對於訪問許可權的控制,不是基於類的,而是基於檔案的。其區別如下 1.private private訪問級別 所修飾的屬性或者方法 只能在當前的 swift原始檔裡 可以訪問。2.internal 預...

Swift 限制UITextField字數的方法

首先利用uitextfield的addtarget方法,監聽uitextfield的文字變化 textfield.addtarget self,action textdidchange forcontrolevents uicontrolevents.editingchanged 然後實現textd...

unity3D之GUI之TextField控制項用法

textfield控制項主要用於監聽使用者的輸入資訊,獲取的資料資訊都會轉換成字串型別,在此需要注意的是,當輸入的是數字或者其他型別需要轉換時,應考慮異常等情況的發生。pragma strict private var editusername string private var editpass...