設(shè)置UITextView UITextField insets

在實(shí)際開發(fā)中如果UITextView UITextField靠屏幕邊界,會(huì)影響美觀和用戶交互體驗(yàn),所以常常需要設(shè)置內(nèi)容的insets,雖然老B都有所了解如何設(shè)置,不過今天在群里有人問及,所以總結(jié)了下。

  • UITextView
UIEdgeInsets insets = textView.contentInset;
textView.contentInset = UIEdgeInsetsMake(insets.top, 10.0, insets.bottom, insets.right);
  • UITextField 沒有contentInset屬性,不過有幾種方法可以實(shí)現(xiàn)該效果。

方法一重寫 -textRectForBounds-editingRectForBounds

// placeholder position
- (CGRect)textRectForBounds:(CGRect)bounds {
     return CGRectInset(bounds, 10.0, 10.0);
}

// text position
- (CGRect)editingRectForBounds:(CGRect)bounds {
     return CGRectInset(bounds, 10.0, 10.0);
}

方法二

textField.layer.sublayerTransform = CATransform3DMakeTranslation(10, 0, 0);

方法三

UItextField *textField = [[UITextField alloc] initWithFrame:...];
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, textField.frame.size.height)];
leftView.backgroundColor = textField.backgroundColor;
textField.leftView = leftView;
textField.leftViewMode = UITextFieldViewModeAlways;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容