在视图控制器内为iPhoneiPad动态加载笔尖

在视图控制器内为iPhoneiPad动态加载笔尖,第1张

概述我已经使用XCode中的向导将一个iPhone应用程序转换为通用应用程序。 它建成很好,但在某些地方显然看起来有点垃圾:) 我需要根据使用哪个设备加载笔尖。我不希望使用initWithNib创建我的视图控制器,因为我已经有代码来创建一些数据(initWithMyLovelyData)的控制器,这与nib加载没有任何关系。 我知道找到你使用UI_USER_INTERFACE_IDIOM()的设备,所 我已经使用XCode中的向导将一个iPhone应用程序转换为通用应用程序。

它建成很好,但在某些地方显然看起来有点垃圾:)

我需要根据使用哪个设备加载笔尖。我不希望使用initWithNib创建我的视图控制器,因为我已经有代码来创建一些数据(initWithMylovelyData)的控制器,这与nib加载没有任何关系。

我知道找到你使用UI_USER_INTERFACE_IdioM()的设备,所以我试图覆盖实际的视图控制器本身的initWithNibname,假设他们以内部的方式被调用。但是它不工作,因为我想我不确定语法。

我努力了

if(ipad..) self = [super initWithNibname:@"MyIpadNib" bundle:nibBundleOrNil];

这不行:

编辑 – 我知道我已经大量编辑了这一点,在做了更多的研究后,让我的问题更具体一些 – 道歉!

解决方法 编辑:@ Adam的答案是正确答案。

要确定要加载哪个nib,请执行以下 *** 作,并删除initWithMylovelyData方法并使用属性设置数据。您应该能够轻松地将所有的init代码移动到属性设置器方法中。

MyVIEwController *vIEwController;if (UI_USER_INTERFACE_IdioM() == UIUserInterfaceIdiomPad) {    vIEwController = [[MyVIEwController alloc] initWithNibname:@"ipadNIB" bundle:nil];} else {    vIEwController = [[MyVIEwController alloc] initWithNibname:@"iphoneNIB" bundle:nil];}vIEwController.mylovelyData = someData;
总结

以上是内存溢出为你收集整理的在视图控制器内为iPhone/iPad动态加载笔尖全部内容,希望文章能够帮你解决在视图控制器内为iPhone/iPad动态加载笔尖所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存