XIB - это контейнер для объектов, он не равен окну. Вы не можете центрировать XIB, вы можете центрировать только окно, содержащееся в XIB.
Кроме того, объекты в XIB создаются при загрузке. Вы не передаете объект как владельца, который затем заменяет один из объектов в XIB, вы вместо этого используете IBOutlets для получения ссылок на новые объекты, созданные при загрузке XIB, и затем вы можете взаимодействовать с ними.
Объект «Владелец файла» - это специальный объект в XIB, поскольку это единственный объект, который не был создан и который можно указать, передав его в loadNibNamed:owner:
. Это ваш шлюз между объектами, созданными в XIB, и вашим приложением.
Обычно объект владельца - это некий класс контроллера. Установите класс владельца файла в Interface Builder на свой класс контроллера, затем определите некоторые IBOutlets в классе, они будут отображаться в Interface Builder на владельце файла, и вы можете подключать к ним ваши объекты в XIB.
Наконец, когда вы передаете объект контроллера на loadNibNamed:owner:
, Cocoa подключит ваши IBOutlets к вновь созданным объектам, и вы сможете использовать их для взаимодействия с ними, например, центрировать окно в вашей XIB.