2010-09-26 12 views
27

tıklandığında griye döner Görüntü kümesi olan üç NSButton ile küçük bir uygulama yapıyorum. Bu düğmeler sınırsız ve arka plana sahip değildir. Bununla birlikte, bir düğmeyi tıkladığımda gri bir dikdörtgene dönüşür.Kenarlıksız NSButton,

Bunu nasıl düzeltebilirim? Teşekkürler.

cevap

63

Düğme türünüzü NSMomentaryChangeButton olarak yapın. Eğer NSMomentaryPushInButton kullanırsanız zaman tıklama

[myBtn setButtonType:NSMomentaryChangeButton]; 

sonra düğmenin üzerine gri dikdörtgen alabilirsiniz.

+0

Ve başka ne var? Biraz daha bilgi ekler misiniz? [MetaSO sorusunu] kontrol edin (http://meta.stackexchange.com/questions/7656/how-do-i-write-a-good-answer-to-a-question) ve [Jon Skeet: Kodlama Blogu] (http://msmvps.com/blogs/jon_skeet/archive/2009/02/17/answering-technical-questions-helpfully.aspx) nasıl doğru bir cevap verileceği üzerine. – Yaroslav

+1

Cevabımı düzenledim. Bundan daha fazlası yok. –

+8

Bu benim için çalıştı. – arooo

12

Durum maskesini değiştirerek bunu ayarlayabilmeniz gerekir. Bunu yapmak için NSButtonCell'un highlightsBy: ve showsStateBy: özelliklerini kontrol edin - bunlar sırasıyla basma efektini ayarlamak ve efekti göstermek içindir. Bu yöntemler için geçerli sabitler NSCell reference page'dadır.

+4

Bayraklar için uzun zamandır arama yapıyordum. Yani burada bir ek olarak bir çözüm (bu yardım için çok fazla Sean Rich): [self.button.cell setShowsStateBy: NSPushInCellMask]; [self.button.cell setHighlightsBy: NSContentsCellMask]; BOTH maskesini değiştirirseniz, sadece grafikleriniz IB'de belirtildiği gibi gösterilecektir. – JackPearse

+0

Bu benim günümü yarattı. Teşekkürler! – Stream

+0

Teşekkürler Sean, beni doğru yöne yönlendirdi! – ixany

0

NSBox kullanıyorsanız, hiyerarşideki NSBox'un içindeki düğmenin olduğundan emin olun. Ardından düğme tipiniz olarak 'anlık itmeli' kullanın. Tıklandığında düğme sönecektir, ancak sınır olmayacaktır.

NSButton ile aynı hiyerarşi düzeyinde NSBox'ı kullandığımda, tıklatıldığında sınırı görebiliyordum.