iOS 设置UITextfield的placeholder字体、对齐方式

Your will,My hands!
我用双手成就你的梦想!

前言

开发中为了美观,于是就会有各种文本对齐方式。例如UILabel居中、UITextField居中等等,这些我也不敢拿出来说,就记录下比较常见的对齐。

  • UITextField

今天遇到一个问题,就是UITextfield的placeholder字体比文本小,但也要居中,如图:
1.png

我记得开始做过,但是一时半会儿就是想不起来,最后还是打开之前的项目找到了,于是记录下来:

NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
 // 通过最小的行高来控制文字字符垂直居中,注意,文字字符垂直方向默认是底部对齐,所以你不能让它直接等于TextFeild的行高,通过这种简单计算可以控制文字字符垂直居中显示。
style.minimumLineHeight = tfd.font.lineHeight - (tfd.font.lineHeight - [UIFont systemFontOfSize:16].lineHeight) * 0.5;    
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:@"请输密码" attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:16], NSParagraphStyleAttributeName : style}];
tfd.attributedPlaceholder = attributedString;
  • UIButton

button的title左对齐:

button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

有的小伙伴说这样有点难看,不急:

button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

再看效果,还不好看自己再做微调。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。