ios – 垂直居中UITextField的attributionPlaceholder

ios – 垂直居中UITextField的attributionPlaceholder,第1张

概述我目前无法在UITextField中垂直对齐一个attributionPlaceholder,我不知道为什么. 这就是我在做的事情: self.addressBar = [[UITextField alloc] initWithFrame: CGRectMake(...)];self.addressBar.backgroundColor = [UIColor whiteColor];self. 我目前无法在UITextFIEld中垂直对齐一个attributionPlaceholder,我不知道为什么.

这就是我在做的事情:

self.addressbar = [[UITextFIEld alloc] initWithFrame: CGRectMake(...)];self.addressbar.backgroundcolor = [UIcolor whitecolor];self.addressbar.attributedplaceholder = [[NSAttributedString alloc] initWithString:@"Placeholder text"                                attributes:@{                                             NSForegroundcolorAttributename: [UIcolor colorWithRed:79/255.0f green:79/255.0f blue:79/255.0f Alpha:0.5f],NSFontAttributename : [UIFont FontWithname:@"Gotham-BookItalic" size:14.0],} ];self.addressbar.delegate = self;self.addressbar.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;[self.vIEw addSubvIEw:self.addressbar];

以下是发生的事情:

很明显,这是因为UITextFIEldLabel的高度比UItextFIEld本身小10px,但我似乎无法改变它.

这只发生在使用attributionPlaceholder时;默认的占位符属性工作得很好.

有任何想法吗?

解决方法 使用NSParagraphStyle增加最小行高:
NSMutableParagraphStyle *style = [self.addressbar.defaultTextAttributes[NSParagraphStyleAttributename] mutablecopy];style.minimumlineHeight = self.addressbar.Font.lineHeight - (self.addressbar.Font.lineHeight - [UIFont FontWithname:@"Gotham-BookItalic" size:14.0].lineHeight) / 2.0;self.addressbar.attributedplaceholder = [[NSAttributedString alloc] initWithString:@"Placeholder text"                            attributes:@{                                         NSForegroundcolorAttributename: [UIcolor colorWithRed:79/255.0f green:79/255.0f blue:79/255.0f Alpha:0.5f],NSParagraphStyleAttributename : style                                         } ];

您还可以覆盖 – (CGRect)placeholderRectForBounds:(CGRect)边界; UITextFIEld子类中的方法.

它很乱,但它的工作原理:)

总结

以上是内存溢出为你收集整理的ios – 垂直居中UITextField的attributionPlaceholder全部内容,希望文章能够帮你解决ios – 垂直居中UITextField的attributionPlaceholder所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存