Автоматическое изменение размера NSView

Я делаю что-то с какао, что, как мне кажется, немного сложно для новичка вроде меня. Я попробовал несколько вещей, но признаю, что сначала мне нужна теория, потому что я хотел бы точно понять значение этих понятий.

Я вижу, что каждый NSView и каждый класс, который является его подклассом, имеет одну вещь, называемую frame, и одну, называемую bounds. Они оба имеют размер с шириной и высотой и происхождение.

У меня есть NSView с NSTableView внутри. У меня есть размер строки из табличного представления, и я хотел бы установить высоту как NSView, так и NSTableView, равную rows*rowSize, таким образом, чтобы размер группы NSView+subviews автоматически изменялся при добавлении или удалении объекта и из источника данных табличного представления.

Я провел несколько экспериментов, но в конце концов немного запутался с рамкой, границами, размерами и так далее. Я не знаю, что я должен изменить и как.

Не могли бы вы дать мне подсказку о том, что такое границы и рамка, и как я могу добиться этого волшебного изменения размера?

Спасибо за ваши ответы заранее. С наилучшими пожеланиями,

— Альбе


person Donovan    schedule 29.07.2010    source источник


Ответы (1)


Разница между frame и bounds очень подробно описана в Просмотр руководства по программированию (в разделе "Просмотр геометрии").

Вы также можете просмотреть Справочник по классам NSView, где вы найдете несколько полезных уведомлений, таких как NSViewFrameDidChangeNotification, и удобные методы, такие как setPostsFrameChangedNotifications:.

person Joshua Nozzi    schedule 30.07.2010