美文网首页
iOS UITextField光标/文字起始位置

iOS UITextField光标/文字起始位置

作者: NapoleonY | 来源:发表于2018-03-14 11:14 被阅读1201次

概述

iOSUITextField默认输入光标和显示内容等靠近左边框,有时项目需要调整输入光标/内容起始位置

方法一

  1. 新建一个UITextField的子类
  2. 子类中重载以下几个方法
     //未编辑状态下的起始位置
     - (CGRect)textRectForBounds:(CGRect)bounds {
         return CGRectInset(bounds, 5, 0);
     }
     // 编辑状态下的起始位置
     - (CGRect)editingRectForBounds:(CGRect)bounds {
         return CGRectInset(bounds, 5, 0);
     }
     //placeholder起始位置
     - (CGRect)placeholderRectForBounds:(CGRect)bounds {
         return CGRectInset(bounds, 5, 0);
     }
    

方法二

设置UITextFieldleftViewleftViewMode属性即可

项目实例

项目需求

项目中有一个需求:UITextField中没有内容时,显示一个搜索图标和placeholder文本,搜索图标、光标、placeholder位置在UITextField居中;当UITextField中有输入文本时,搜索图标消失,光标和输入文本在UITextField左对齐

解决方法

使用上述方法二,根据UITextField中是否有文本,动态调节UITextFieldleftView.frame的宽度即可

相关文章

网友评论

      本文标题:iOS UITextField光标/文字起始位置

      本文链接:https://www.haomeiwen.com/subject/sxizfftx.html