iOS:文字相關(18-01-22更),ios18-01-22
0、寫在前面
1、小技巧
UILabel類:
1-1-1)、設定行間距富文本,有省略符號要求的,需要再次設定省略(初始化時設定的會失效)。
UITextField類:
1-2-1)、清空按鈕。
UITextView類:
1-3-1)、UITextView只能x軸置中,y軸需要手動調。
UITextField、UITextView類共有:
1-4-1)、在鍵盤上面顯示一個右邊有“完成”按鈕的ToolBar。
1-4-2)、協議 UITextInputTraits(自動大寫、錯誤修正、鍵盤相關)。
0、寫在前面
1、UILabel:
1、沒有內建選擇、複製功能
2、無預留位置
3、多行
2、UITextField:
1、
2、有預留位置
3、一行
3、UITextView:
1、
2、無預留位置
3、多行
1、小技巧:
UILabel類:
1-1-1)、設定行間距富文本,有省略符號要求的,需要再次設定省略(初始化時設定的會失效)。
// 最後面的,以"..."結束self.contentLabel.lineBreakMode = NSLineBreakByTruncatingTail;
UITextField類:
1-2-1)、清空按鈕。
// 當編輯時才出現self.inputTF.clearButtonMode = UITextFieldViewModeWhileEditing;
UITextView類:
1-3-1)、UITextView只能x軸置中,y軸需要手動調
--修改自簡書 《IOS UITextView內容垂直置中方法》 --木頭Lee
- (void)contentSizeToFit{ //先判斷一下有沒有文字(沒文字就沒必要設定置中了) if([msgTextView.text length]>0) { //textView的contentSize屬性 CGSize contentSize = msgTextView.contentSize; //textView的內邊距屬性 UIEdgeInsets offset; //如果文字內容高度沒有超過textView的高度 if(contentSize.height <= msgTextView.height) { //textView的高度減去文字高度除以2就是Y方向的位移量,也就是textView的上內邊距 CGFloat offsetY = (msgTextView.height - contentSize.height)/2; offset = UIEdgeInsetsMake(offsetY, 0, 0, 0); } //根據前面計算設定textView的ContentSize和Y方向位移量 [msgTextView setContentInset:offset]; }}
UITextField、UITextView類共有:
1-4-1)、在鍵盤上面顯示一個右邊有“完成”按鈕的ToolBar。
UIToolbar *numberToolBar= [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, kSCREEN_WIDTH, 40)];numberToolBar.items = [NSArray arrayWithObjects: [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], [[UIBarButtonItem alloc]initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad)], nil];//numberToolBar.tintColor=[UIColor redColor];self.inputTF.inputAccessoryView = numberToolBar;- (void)doneWithNumberPad{}
1-4-2)、協議 UITextInputTraits(自動大寫、錯誤修正、鍵盤相關):
①、autocapitalizationType:自動首字母大寫
②、autocorrectionType:自動錯誤修正
③、spellCheckingType:拼字檢查
④、keyboardType:鍵盤類型
⑤、keyboardAppearance:鍵盤顏色樣式
⑥、returnKeyType:返回的按鍵“字”:發送、下一個...
⑦、enablesReturnKeyAutomatically:當文字輸入長度為0,失能鍵盤的return,但文字輸入長度大於0,使能鍵盤的return
⑧、secureTextEntry:密碼輸入,輸完一段時間、或輸入下一個字型,會變成*
⑨、textContentType:把自己的通訊錄內容,變成鍵盤上的一個ToolBar按鈕,快速填入。第三方鍵盤好像不支援。