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);

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

你可能感兴趣的:(iOS 设置UITextfield的placeholder字体、对齐方式)