This is the content content window. All windows must contain one in order to contain their contents, so by default it is provided by default. Although you can use any representation to represent content (using the setContentView: method in code), Interface Builder does not currently allow you to replace it, possibly because it may have some unexpected results.
Unless you have a good reason to replace the presentation of content, itβs best to just put it in it. You can make your appearance full-time and use the autoresist mask or automatic layout constraints to save it that way. This will cause your view to appear as content, with the only difference being that this is an additional level of the hierarchy of views.
If you really want to change the presentation of the content, you can do this in Interface Builder by setting your own class. However, as you saw, this does not mean that the presentation acts as you have chosen. The Builder interface ignores the user class in order to display the view and select its parameters, while the corresponding class is used at run time. This is undesirable for most situations, since you cannot specify any settings.
The best way to change the presentation of content is to do it in code. You can create a view in Interface Builder, which is not in any window, and build your own hierarchy in it. Then, after loading the nib, but before the window is shown, your code will replace the default content window in the window with your own. For example, if an object has properties called window and newContentView , it can change the presentation of the content and display this window as follows:
[self.window setContentView:self.newContentView]; [self.window makeKeyAndOrderFront:nil];
source share