イメージをココアのテキストフィールドの背景として使用することはできますか? そうなら、どうですか?ココアのテキストフィールドの背景として画像を使用する方法はありますか?
答えて
、これはそれを行うには「正しい」方法であれば、私は知らないが、心に来る最初の事はおおよそ次のようになります。これは、NSTextFieldのカスタムサブクラスを作成することです:
- (void)awakeFromNib
{
[self setDrawsBackground:NO];
}
- (void)drawRect:(NSRect)rect
{
[super drawRect:rect];
[self lockFocus];
[[NSImage imageNamed:@"<#image filename#>"] drawInRect:rect
fromRect:rect
operation:NSCompositeSourceOver
fraction:1.0];
[self unlockFocus];
}
これもまた、必須の部分の概要です。
とにかく、私が言ったように、これを本当に「正しい」方法(または「正しい」方法があれば)が正しいかどうかはわかりませんが、これはあなたに背景を与えますあなたのNSTextFieldの画像。ジョシュアさんのコメントに応じて
編集(私はその小さな小さなコメントボックスに十分なスペースを持っているつもりはありません):
プロジェクトに画像を追加するには、あなたがどこそれからそれをドラッグしたいですプロジェクトウィンドウ(プロジェクトウィンドウの中央にあるファイルのメインリストですが、Xcode編集環境をどのように設定したかによって異なります)がプロジェクトウィンドウに表示されます。
NSTextField
のサブクラスを作成するために、新しいObjective-Cのクラスファイル(ファイル - >新規ファイルを...)を作成したいと思うが、クラスがNSTextField
代わりのNSObject
から継承するようヘッダを編集します。言い換えれば、あなたのヘッダファイルには、次のようになります。
#import <Cocoa/Cocoa.h>
@interface BGImageTextField : NSTextField
{
}
@end
は、コードの残りの部分については、あなたが(例えば、BGImageTextField.m
)実装ファイルの本体にそれを追加したいと思う、特に中@implementation
と@end
の間にあります。
私は2つのことについても言及したいと思います。最初に、Aaron HillegassのCocoa Programming for Mac OS Xをお勧めします。これはAaron Hillegassによってココアの基本のほとんどをカバーしており、一般的にココアを学ぶ最良の方法の1つです。第二に、私のアプローチはうまくいっていますが、おそらく最近私がthis postを見つけたばかりなので、NSTextFieldを拡張するより良い方法を示唆しているようです。
上記の例では、textFieldのセルは描画されません。 [super drawRect:rect]を追加するとそれの終わりに、それとフォーカスリングの描画が再び動作するはずです。 setDrawsBackgroundをNOに設定しているので、superのdrawRectは何も上げてはいけません。物事を混乱させるかもしれない別のものは、fieldEditorの背景の描画です。それについてはわからない。最終的なこと:描画のパフォーマンスが悪くならないように、textFieldには近くに不透明な祖先があることを確認する必要があります。 –
ああ、良い点 - 私はそれを反映するために投稿を編集しました。 (何らかの理由で、最初に試したときにdrawRectを呼び出すと、背景画像が描画されます)一般的には、この問題に近づけるより良い方法があることを願っています。今のところハックのような感じです。 – hbw
ありがとうございます、しかし、余分な質問が1つありますが、どこに背景画像を配置しますか? – Joshua
NSTextFieldをサブクラス化する代わりに、背景色を透明にして[NSColor clearColor]にして、そのイメージを後ろに置くだけです。
私はちょうどそれを試み、それは私のために非常にうまくいかない。しかし私はそのアイデアが気に入っています。私の方法よりもずっと簡単です。 – hbw
- 1. コードペンを使用しているときに背景画像を追加する方法はありますか?
- 2. CSSを使用して背景に複数の画像がありますか?
- 3. 背景画像のスタイルを調整する方法はありますか?
- 4. カスタム画像に使用するUIButton画像と背景画像はありますか?
- 5. CSSを使用してスライダに背景画像を与える方法はありますか?
- 6. に背景画像があります。
- 7. jPlayerを使用して背景画像のプレースホルダを切り替える方法
- 8. jQueryを使用して背景画像のスプライトを切り替える方法
- 9. 子画像の背景画像をぼかす方法
- 10. 背景画像を要求するために使用できる画像APIはありますか
- 11. mootoolsを使用して画像の背景を削除する方法
- 12. パンした画像の背景に黒い背景があります。 Swift 3
- 13. CSSを使用して背景画像に問題がある
- 14. 背景画像カルーセルの背景画像
- 15. 背景画像上の背景画像
- 16. CSSを使用して背景画像を切り取る
- 17. アレイを使用して背景画像を切り替える
- 18. Qt Creator、画像を背景画像として設定する方法
- 19. 背景画像の上に画像を配置する方法
- 20. 画像を使用してuibarbuttonitemの背景を変更する
- 21. pygameを使用して、画像の背景を透明にすることに問題があります
- 22. <tr>の背景を画像の形状に基づいてトリミングする方法はありますか?
- 23. Senchaで背景画像を使用してパネルを作成する方法
- 24. は、私が使用して背景画像を持つページを持っている背景画像
- 25. 背景画像を使用するフクロウカルーセルでlazyloaderを使用する方法
- 26. 画像をCADアプリケーションの背景として扱う方法
- 27. 画像でビットマップのサイズを変更し、背景として使用します。
- 28. HTML 5画像を背景画像としてアップロードする
- 29. コルドーバで大きな画像を背景に使用するか、複数の画像を使用しますか?
- 30. css(背景画像プロパティ)を使用して画像を設定する方法は?
誰か?誰でも? – Joshua