写真のようなiPhotoのようなボタンを作成するにはどうすればよいですか
丸いテクスチャ ボタンを使用したり、ボタンの画像をテンプレートとして設定したりして、いくつかのことを試しました。しかし、これらのアプローチはどれも実際には機能しません。
これまでのご回答ありがとうございます。
編集: ボタンの画像は単純な pdf にする必要があります。グラデーションと白い影は自動的に描画されるはずです。
写真のようなiPhotoのようなボタンを作成するにはどうすればよいですか
丸いテクスチャ ボタンを使用したり、ボタンの画像をテンプレートとして設定したりして、いくつかのことを試しました。しかし、これらのアプローチはどれも実際には機能しません。
これまでのご回答ありがとうございます。
編集: ボタンの画像は単純な pdf にする必要があります。グラデーションと白い影は自動的に描画されるはずです。
ジャスティンが述べたようにNSButton
、タイプMomentary Changeを作成する必要があります。次に、ファイル名にサフィックス Template を含めることで、それがテンプレート イメージであることを示す必要があります (例: EditTemplate.png
.
画像をテンプレートとして設定しようとしたとおっしゃっていましたが、瞬間的な変更ボタン タイプを使用していない場合、これは必ずしも効果的ではないことがわかりました。
最も簡単な解決策は、次のタイプのボタンを作成することだと思います。瞬間的な変更 と、.pngタイプのファイルを使用した透明な背景の画像を追加し、ボタンがオンの場合は、背景のある他の画像に変更できます。
たとえば、画像を設定/変更するには:
[_yourButton setImage:_image];
私があなたがしたいことを正しく理解していれば。
NSButtonCell をサブクラス化できます。そして、これらの機能を実装します:
- (void)drawImage:(NSImage*)image
withFrame:(NSRect)frame
inView:(NSView*)controlView
{
// Draw the image of the pen.
}
- (NSRect)drawTitle:(NSAttributedString*)title
withFrame:(NSRect)frame
inView:(NSView*)controlView
{
// Draw the text.
}
- (void)drawBezelWithFrame:(NSRect)frame
inView:(NSView *)controlView
{
}
サブクラスをセットアップするには、Interface Builder でボタン セルの「カスタム クラス」フィールドを「NSButtonCell」から「YourSubClass」に編集します。