Tôi đang cố gắng làm điều gì đó thực sự phức tạp và tôi vẫn bị mắc kẹt tại một điểm. Tôi đang cố gắng để ví dụ một UIViewController
với một tập tin Nib thừa kế từ một UIViewController
khác với một tập tin Nib khác.
Vấn đề là khi tôi khởi tạo con trai UIViewController
.UIViewController với Nib File và Inheritance
// SonViewController
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:nibNameOrNil
bundle:nibBundleOrNil])) {
// Custom initialization.
}
return self;
}
Phương thức init initWithNibName:bundle:
nên gọi super class
nhưng nó chỉ gọi tập tin nib riêng của mình. Trong lớp siêu, tôi đã cố gắng để ghi đè lên các phương pháp initWithNibName:bundle:
và đặt nibName bản thân mình như thế:
// MotherViewController
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:@"MotherViewController"
bundle:nibBundleOrNil])) {
// Custom initialization.
}
return self;
}
Nó chỉ init và hiển thị Mother Class
và Object IB của nó. Tôi hiểu tại sao nhưng tôi bắt đầu nghĩ rằng không thể làm những gì tôi muốn. Bất kì lời đề nghị nào ?
Edit:
Tôi sẽ sử dụng SonViewController của tôi chỉ như thế:
SonViewController *son = [[SonViewController alloc]
initWithNibName:@"SonViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:son animated:YES];
[son release];
Nó sẽ hiển thị con trai và mẹ IB Object ...
Kính trọng,
kl94
Như bạn đã nói, đây là một bài đăng rất cũ. NHƯNG bây giờ, bởi vì bạn, tôi/Chúng tôi biết làm thế nào để tạo ra 2 bộ điều khiển xem với 2 xib và làm cho một trong những họ kế thừa từ khác. Cảm ơn – klefevre