誰かが私に次のことがうまくいかない理由を教えてもらえますか?ボタンが選択に設定されることはありません。
[self.boldButton setSelected:isBold];
上記をifelseステートメントに置き換えると、正常に機能します。setSelectedの値をYESまたはNOではなく1または0に変更することもできますが、それでも正常に機能します。
if (isBold)
{
[self.boldButton setSelected:YES];
}
else
{
[self.boldButton setSelected:NO];
}
ですから、私は作業中のプロジェクトを持っていますが、これら2つの実装が同じ結果をもたらさない理由がわかりません。ありがとう。
FWIW-別の方法で太字をテストします。テストに欠陥がある場合でも、2番目のアプローチがどのように機能するかはわかりませんが、最初のアプローチはまだ機能しません。
- (BOOL)isBold
{
CTFontRef fontRef = (CTFontRef)CFBridgingRetain(self);
CTFontSymbolicTraits symbolicTraits = CTFontGetSymbolicTraits(fontRef);
return (symbolicTraits & kCTFontTraitBold);
}