Bor*_* Y. 14 xcode accessibility objective-c uitableview ios
我有UITableView基本样式单元格的静态,默认44高度.每个单元格中都有一个带有Body文本样式的标签.这样我就可以免费获得动态类型行为.
它的工作原理除外:
我设法通过跟随黑客来解决这个问题
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(preferredContentSizeChanged)
name:UIContentSizeCategoryDidChangeNotification object:nil];
}
- (void)preferredContentSizeChanged
{
// adjust the layout of the cells
// for some reason text from labels are disappear
self.statusBarCell.textLabel.text = @"Status bar";
self.itemColorCell.textLabel.text = @"Color";
Run Code Online (Sandbox Code Playgroud)
但我有另一个完全相同UITableView,这是行不通的.我试过细胞和标签的出口.我试过reloadData和setNeedsLayout方法.
这是照片.标签为黄色,内容视图为蓝色:

我最近玩静态表并试图添加动态类型.我得到了与你相同的结果 - 甚至可以在Apple自己的Contacts.app中看到这个消失的标签.
即使在将我的表从静态更改为动态并实现包含UILabel的小型自定义单元格(在XIB中配置为字体为UIFontTextStyleBody)之后,在更改系统首选项中的首选文本大小时,该表似乎仍未更新其内容.
但是:我在执行以下操作后意外得到了一些结果:在我的自定义单元格的子类中,我实现了prepareForReuse并将标签的字体重新初始化为正确的样式:
- (void)prepareForReuse {
self.label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
}
Run Code Online (Sandbox Code Playgroud)
随着我的表格上方的黑客攻击,他们的字体动态地适应系统偏好的变化.
希望有所帮助.
我有同样的问题,想在没有代码的情况下解决这个问题。所以我改变了
这甚至适用于没有程序代码/类的表视图
| 归档时间: |
|
| 查看次数: |
2347 次 |
| 最近记录: |