有人可以教育我为什么以下不起作用?该按钮永远不会设置为选中状态.
[self.boldButton setSelected:isBold];
Run Code Online (Sandbox Code Playgroud)
如果我用if else语句替换上面的代码就行了.我也可以将setSelected值更改为1或0,而不是YES或NO,它仍然可以正常工作.
if (isBold)
{
[self.boldButton setSelected:YES];
}
else
{
[self.boldButton setSelected:NO];
}
Run Code Online (Sandbox Code Playgroud)
所以我有一个工作项目,但我不明白为什么这两个实现不能提供相同的结果.谢谢.
FWIW - 我用另一种方法测试粗体.虽然如果测试有缺陷,我看不出第二种方法如何工作,而第一种方法仍然没有.
- (BOOL)isBold
{
CTFontRef fontRef = (CTFontRef)CFBridgingRetain(self);
CTFontSymbolicTraits symbolicTraits = CTFontGetSymbolicTraits(fontRef);
return (symbolicTraits & kCTFontTraitBold);
}
Run Code Online (Sandbox Code Playgroud)