iOS 中改变UITextField的光标起始位置

UITextField作为输入框,在很多场景都会使用,一般我们都是对齐默认的布局做一些更改,常用的可能会修改光标的颜色,placeholder的颜色,字体等等,有些修改直接设置UITextField的属性就可以,有些则没有,需要重写它提供的一些方法才可以,有些则怎么都办不到,例如修改光标的宽度,如果哪位知道,请告诉我下,谢谢。

  1.  搜索框
  2. _searchFieldText.backgroundColor = UIColorFromHex(0xDEDEDE);
  3. _searchFieldText.borderStyle = UITextBorderStyleNone;
  4. _searchFieldText.font = FontLarge;
  5. _searchFieldText.textColor = ColorTextLight;
  6. _searchFieldText.placeholder = @” 搜索”;
  7. _searchFieldText.delegate = self;
  8. _searchFieldText.layer.cornerRadius = 2;
  9. _searchFieldText.returnKeyType = UIReturnKeySearch; //设置按键类型
  10. _searchFieldText.enablesReturnKeyAutomatically = YES; //这里设置为无文字就灰色不可点
  11. _searchFieldText.clearButtonMode = UITextFieldViewModeWhileEditing; // 出现删除按钮
  12. // 设置占位文字的颜色为红色
  13. [_searchFieldText setValue:ColorTextLight forKeyPath:@”_placeholderLabel.textColor”];
  14. // 光标颜色
  15. _searchFieldText.tintColor = ColorTextLight;

三、重写的一些方法

– textRectForBounds:  //重写来重置文字区域
– drawTextInRect:    //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
– placeholderRectForBounds:  //重写来重置占位符区域
– drawPlaceholderInRect:  //重写改变绘制占位符属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了
– borderRectForBounds:  //重写来重置边缘区域
– editingRectForBounds:  //重写来重置编辑区域
– clearButtonRectForBounds:  //重写来重置clearButton位置,改变size可能导致button的图片失真
– leftViewRectForBounds:
– rightViewRectForBounds:

发帖时间: iOS

发表评论

电子邮件地址不会被公开。 必填项已用*标注