我在 iOS 7 中为我的应用程序添加了动态类型支持,现在当用户更改他们的系统字体大小然后退出并重新打开应用程序时,它会愉快地更新它。但是,当刚刚启动回应用程序时,我似乎无法让它工作。
我添加了一个观察者:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(contentSizeDidChange) name:UIContentSizeCategoryDidChangeNotification object:nil];
当用户更改其大小时,它会调用以下方法:
- (void)contentSizeDidChange {
[self.tableView invalidateIntrinsicContentSize];
[self.tableView reloadData];
}
但是我的单元格中的字体大小根本没有改变(尽管单元格的高度会改变)。这是因为我为我的单元格子类化了 UITableViewCell 吗?
编辑:
这是我的UITableViewCell
子类中的内容:
- (void)contentSizeDidChange {
self.fullCellURLLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline];
self.timeLeftLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline];
self.timeLeftLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
self.fullCellPreviewLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline];
}