textField 的 textAlignment 文字左对齐的问题

我设置textField 的 textAlignment左对齐时,如下图 感觉太靠左边框了,能不能设置距离左边框的距离?

clipboard.png

阅读 7.3k
3 个回答

两个方法:

  1. 自己写一个类继承UITextField,然后重写两个方法:

    - (CGRect)textRectForBounds:(CGRect)bounds;
    - (CGRect)editingRectForBounds:(CGRect)bounds;
    

    比如:

    - (CGRect)textRectForBounds:(CGRect)bounds {
        bounds.origin.x += 10;
        return bounds;
    }
    
    - (CGRect)editingRectForBounds:(CGRect)bounds {
        bounds.origin.x += 10;
        return bounds;
    }
    
  2. 像楼上说的,外面套个view,里面是textField,就想怎么控制都可以了。

uiview+uitextfield

可以使用leftView来实现。

textField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, height)];
textField.leftViewMode = UITextFieldViewModeAlways;

ps: leftView当然也可以是一个ImageView来实现相应需求

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题