Повторение комментариев Gareth... Ваш код не будет работать, как записано. Это должно быть переписано этот путь:
def name=(name)
write_attribute(:name, name.capitalize)
end
def name
read_attribute(:name).downcase # No test for nil?
end
Ознакомьтесь с BWToolkit , фреймворк Какао, который, помимо многих других, предоставляет эти типы виджетов. Он даже поставляется с плагином Interface Builder, так что вы можете просто перетащить их прямо в свое окно. В частности, посмотрите фильм «Создание интерфейса в стиле Mail.app» под заголовком «Панели кнопок» на главной странице.