1

作成した NSButton サブクラスのフォントを変更しようとしています。次のコードを使用して実際のボタンを設定すると、フォントを設定できます。

    [button setFont:[NSFont fontWithName:@"Courier" size:15]];

ただし、後でアプリケーションで実行しようとすると、機能しません。

ユーザーに新しいフォントを選択させようとしています。彼らがこれを行ったら、選択したフォントを使用するようにこのボタンを更新したいと思います。

他の UI 項目のフォントをユーザーが選択したものに変更できるため、フォント選択プロセスが問題ではないことはわかっています。

さらに、サブクラスが CABasicAnimation を通過していることが原因であると考えていましたが、アニメーションを削除しても機能しません。さらに、アニメーションの実行中にボタンのフォントの色を変更することもできます。

最後に、コンセントが正しく接続されていることを確信しています。

では、問題の原因はどこにあるのでしょうか? 過去に同様の問題を経験した人はいますか?

4

1 に答える 1

4

IB接続の原因が機能することを確認することをお勧めしますsetFont:.

または、次を使用してみてください。

(void)setAttributedTitle:(NSAttributedString *)aString

は次の場所NSAttributedStringから作成できます。

- (id)initWithString:(NSString *)aString attributes:(NSDictionary *)attributes

属性は次のように作成できます。

NSDictionary * attributes = [NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Courier" size:15] forKey:NSFontAttributeName];
于 2012-02-04T02:28:18.730 に答える