Reputation: 1925
I want to add a "custom" uiview onto a uiviewcontroller, this custom view i created with xib and its a seperate from the view controller,
does anyone know how to add a uiview with a xib into a uiviewcontroller?
Many thanks in advance
Upvotes: 3
Views: 5258
Reputation: 104065
It looks like you want the most common scenario – simply load an intialized custom UIView
subclass into a controller.
Controller
(or however your controller class is named) into the Class field.Controller.xib
.initWithNibName:@"Controller" bundle:nil
. The initialization code should load the interface for you and set the view property to the view unpacked from the interface file.Go through some Interface Builder tutorial, IB is a very nice tool and it’s good to be familiar with it.
Upvotes: 1
Reputation: 104065
You mean an additional view, not the main controller view? In that case you can declare a property for the view and load the NIB by hand:
@interface Controller {}
@property(retain) IBOutlet UIView *extraView;
@end
…
- (void) viewDidLoad // or anywhere else
{
[[NSBundle mainBundle] loadNibNamed:@"extras" owner:self options:nil];
NSAssert(extraView != nil, @"The extra view failed to load.");
[[self view] addSubview:extraView];
}
This assumes that you set the Controller
as the file owner in the Interface Builder and you link the view to the extraView
outlet. Also note that there might be more elegant solutions, like inserting the extra view into the main NIB for your controller; depends on the situation.
Upvotes: 3