ios - UITextView 字体为零

标签 ios objective-c fonts uitextview uifont

我在 Storyboard中创建了一个字体大小为 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)

为什么字体设置为零? setFont:正在工作;字体确实缩小了。我想得到字体,所以在一个手势之后我可以在字体上调用 lineHeight。这样,我可以通过以下代码找出哪一行被点击了:

int line = [tap locationInView:tap.view].y / self.detailDescriptionLabel.font.lineHeight;

这里的字体也是 nil。行设置为-2147483648,这显然不是我想要的。

最佳答案

尝试在 Interface Builder 中选中此 UITextView 的“可选”复选框。它在属性检查器中。根据下面@VahramDodoryan 的评论,如果您不想支持选择,则可以将 selectable 设置为 false。

我无法解释为什么会这样,但它可能是一个 UIKit 错误。我有一个 IBOutlet 到一个字体属性为 nil 的 UITextView,它不会响应代码中的任何字体或文本颜色更改,直到 之后 其文本属性已设置。我通过反复试验得出了这个解决方案。


如果您在最新版本的 iOS 上仍然遇到此问题,请考虑打开雷达:

关于ios - UITextView 字体为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471467/

相关文章:

html - 打印您看到的网页的最佳方式是什么?

具有像素尺寸的 PHP 自动换行

iOS:(Swift)如何显示距当前位置的距离并在注释副标题上存在注释

ios - 以编程方式创建的 UITableView 中单元格的响应能力

iOS 使用 AFImageCache 缓存图像似乎不起作用

objective-c - NSArrayController 为什么这不起作用?

objective-c - iOS 5.1 在后台停止应用程序

ios - 如何在 swift 中从 zipCode 获取坐标

ios - 如何向服务器发送多张图片

angular - 如何将新字体导入项目 - Angular 5