Ну ... Ваше описание, ИМХО, немного запутано! В любом случае, насколько я понял, у вас проблемы с Xcode.
Вам необходимо установить масштаб, потому что кнопка всегда немного больше, чем ее содержимое, из-за границы (даже если вы отключите ее границы, она все равно будет отображаться с небольшой невидимой границей). По неизвестным причинам установка Axes Independent решает эту проблему и корректно изменяет размер изображения (это работает в любом виде NSControl, который вы можете использовать).
Я не могу понять, как включение или отключение кнопки влияет на ее видимость. Вы уверены, что не используете свойство «Скрытый» вместо «Включено»?
[myButton setHidden:YES]
Это сделает кнопку прозрачной и нечувствительной к щелчкам.
[myButton setEnabled:NO]
Это будет влиять на ответ на клики пользователей (и это то, что вы ищете). Ваше изображение в основном серое? Отключение кнопки сделает кнопку серой, и это может сделать изображение невидимым ...