我有一个通用应用程序,我试图与之共享一个viewController代码。我有这个:
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
AboutController *screen = [[AboutController alloc] initWithNibName:@"iPhoneAboutController" bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:screen animated:YES];
}
else
{
AboutController *screen = [[AboutController alloc] initWithNibName:nil bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:screen animated:YES];
}
虽然这是加载,但当我单步执行代码时,它确实触及了iPhone的xib,但似乎总是加载iPad版本。我知道这是因为在iPhone的xib文件中,我手动添加了不同的背景图像,但它从未显示过。在iPhone模拟器中,它显示的是不在屏幕上的iPad版本。
此外,如果我单步执行控制器中的代码,它确实显示负载是iPhone,但显示的是所有iPad对象。在iPhone xib中,我确实将文件所有者设置为AboutController。
这是我第一次尝试“共享代码”。我知道我可以使用相同的代码创建单独的类文件,但这似乎毫无意义。非常感谢任何帮助。
...地理位置
答案 0 :(得分:0)
对于初学者:请确保不要覆盖AboutController
。
如果没有,请尝试清理项目(同时删除~/Library/Developer/Xcode/DerivedData
中的应用文件夹)。还要从设备卸载应用程序,然后重建。