gulp.task('default' , ['watch']);
'名称'的类型为UILabel。
我正在设置self.name.font = [UIFont fontWithName:@"OpenSans" size:17.0];
self.name.textColor = [UIColor redColor];
的{{1}}和font
。打开页面后,我可以看到color
红色(我的viewcontroller)。但是,该字体最初是常规UILabel
并需要更新一些。如果我在页面上停留一段时间,字体会自动更新为新的color
。
为什么2个属性的更新有滞后?
答案 0 :(得分:2)
可能你正在更新主线程外的ui元素。
所有ui元素都应该在主线程中更新。不这样做可能会导致ui不一致,更新延迟,有时也会崩溃。
如果您不在主线程中并想要更新ui元素。检查iOS - Ensure execution on main thread中的第二和第三个答案(不接受)以了解该信息。
答案 1 :(得分:0)
检查字体文件是否存在,字体名称是否与@“OpenSans”相同,大写字母也是。
可能是因为字体名称不匹配
您可以通过以下方式检查应用中的所有字体:
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
}