他のxibの自動ロードは問題ありませんが、これは問題ありません。
このviewcontrollerを押すと、initWithNibName、loadView、viewDidLoad、viewWillAppearは正常に呼び出されますが、これらすべてのメソッドでビュー(および@interface内のすべてのself.xxxオブジェクト)はnilであり、ナビゲーションバーの下に空のウィンドウが残ります。 。
SettingsMain *newVC=[[SettingsMain alloc] initWithNibName:@"SettingsMain" bundle:nil];
[self.navigationController pushViewController:newVC animated:YES];
self.viewを.xib、loadView、またはinitWithNibNameの内容に強制的に設定して、すべてのアウトレットなどを初期化できるかどうか疑問に思いました。
ビューコントローラには標準コードがあり、
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
問題は、viewDidLoadが起動されると、self.viewがnilになることです。