2011-09-06 13 views

cevap

12

NSToolbarDelegate protokolüne uygun bir sınıfa sahip olmanız ve bu sınıfın bir örneğini araç çubuğunuzun temsilcisi olmanız gerekir. Bu temsilci, örneğin, belirli bir tanımlayıcı için bir NSToolbarItem örneğini döndüren -toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:'u uygular; Bunu yaparak, araç çubuğunun bir tanımlayıcıya karşılık gelen öğe için sorulduğunda bir araç çubuğu öğesi döndürmek için temsilci hazırlıyorsunuz.

Bunu yaptıktan sonra, araç çubuğuna araç çubuğuna -[NSToolbar insertItemWithItemIdentifier:atIndex] yollayarak yeni bir araç çubuğu öğesi ekleyebilirsiniz. Tanımlayıcı dizesi argümanı, yukarıdaki paragrafta kullanılanla eşleşmelidir. Bir öğeyi kaldırmanız gerekiyorsa, araç çubuğuna -[NSToolbar removeItemAtIndex:] gönderin.

Bu, Toolbar Programming Topics for Cocoa belgesinin Adding and Removing Toolbar Items bölümündeki örneklerle açıklanmıştır.

+6

neden bu kadar karmaşık, Apple? – Lukas

+2

@ Lukas, çünkü NSToolbar tasarlandığında, bunun gibi teknikler RAM tüketimini azaltmak için gerekliydi. Bu standart bir desen ve Kakao'da _everything_'in nasıl çalıştığıydı. Sadece yeni şeyler böyle çalışmıyor. –

İlgili konular