我在故事板中创建了一个字体大小为 14 的 UITextView,并将其连接到 ViewController 的DetailDescriptionLabel 属性。这段代码在viewDidLoad中:
self.detailDescriptionLabel.font=[UIFont systemFontOfSize:10];
NSLog(@"text is %@; font is %@", self.detailDescriptionLabel.text, self.detailDescriptionLabel.font);
控制台输出如下:
text is Lorem Ipsum; font is (null)
为什么字体设置为nil? setFont:正在工作;字体确实缩小了。我想获取字体,因此在手势之后我可以在字体上调用 lineHeight。这样,我可以使用以下代码找出哪一行已被点击:
int line = [tap locationInView:tap.view].y / self.detailDescriptionLabel.font.lineHeight;
这里的字体也是零。行设置为-2147483648,这显然不是我想要的。
尝试选中“可选”复选框UITextView
在界面生成器中。它位于属性检查器中。根据下面@VahramDodoryan 的评论,您可以设置selectable
如果您不想支持选择,则设置为 false。
我无法解释为什么会这样,但这可能是 UIKit 的错误。我有一个IBOutlet
to a UITextView
其字体属性为零,并且它不会响应代码中的任何字体或文本颜色更改,直到after它的文本属性已设置。我通过反复试验得出了这个解决方案。
如果您在最新版本的 iOS 上仍然遇到此问题,请考虑打开雷达:
- https://openradar.appspot.com/15854592 https://openradar.appspot.com/15854592
- https://openradar.appspot.com/15196932 https://openradar.appspot.com/15196932
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)