适用于iPhone和iPad的单一NIB

 手机用户2502901401 发布于 2023-02-09 12:16

我在这里和谷歌看到了类似的问题,但没有人回答我的实际问题.我想为iPhone和iPad配备一个NIB.NIB本身应该只有一个空视图.应该进入视图的所有内容都是以编程方式完成的.我检查设备是否是iPhone/iPad,然后计算并设置布局.一点点工作,但对于所需的任务,这对我来说是最好的解决方案.

但是当通过"新文件... - >用户界面 - >视图"添加新视图时,我被要求提供设备系列.选择当然是iPhone或iPad.但我希望视图可以在两种设备上工作,一种通用的.

我尝试了iPhone视图,它实际上适用于iPhone和iPad两种设备.所以似乎一切都很好.我的问题更通用,询问是否可以重新使用iPhone的iPhone视图.我应该换一种方式吗?更好的解决方案?

请理解我真的想以单一视图和编程方式工作,因此请为每个设备使用单独视图并使用IB的解决方案请保留!

谢谢

1 个回答
  • 如果以编程方式创建所有内容,则根本不需要使用nib来创建空视图.

    你的UIViewController子类应该是这样的

    @implementation MyViewController
    -(void)loadView
    {
        //Do not call [super loadView] in your implementation. 
        //The super implementation loads the nib based on the nibName and nibBundle properties. 
        UIView * view = [[UIView alloc] init];
        //Add subviews, etc
    
        //You must assign a UIView object to the view property before loadView completes
        self.view = view;
    }
    @end
    

    您可以使用以下任何格式实例化视图控制器:

    MyViewController * controller = [[MyViewController alloc] initWithNibName:nil bundle:nil];
    MyViewController * controller = [[MyViewController alloc] init];
    MyViewController * controller = [MyViewController new];
    

    2023-02-09 12:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有