我一直在阅读有/没有界面构建器的编程优缺点,我想尝试从头开始编写应用程序。但是,即使使用基于窗口的应用程序,它也会创建一个xib文件,我想删除它,但不知道该怎么做。真的需要那个快速启动。谢谢!
答案 0 :(得分:2)
从根本上说,你必须在UIApplicationMain()(在main.m中)中指定appDelegate,即......来自:
int retVal = UIApplicationMain(argc, argv, nil, nil);
为:
int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
然后在MyAppDelegate的方法应用程序:didFinishLaunchingWithOptions:中你必须手动创建你的UI:
// initialize application's window
_window = [[UIWindow alloc] initWithFrame:MAIN_FRAME];
// activate and display application's window
[_window makeKeyAndVisible];
......等等
答案 1 :(得分:0)
您可以创建任何项目,在添加新的viewController时,只需取消选中“With XIB for UserInterface”复选框(如下图红色箭头所示)。
这将允许您创建不带XIB的viewControllers。
但是你必须以编程方式为viewController
添加所有控件
不要使用默认进来的viewController,并使用上面提到的方法添加newViewController。
然后使用其分配(alloc)和初始化(init)方法开始创建您想要的控件,如UIButton,UILabel等,并设置其框架。
然后,您需要根据您的要求设置任何属性,然后将其作为子视图添加到viewwController的主视图中。所以这就像说动态添加textField会是:
UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(150,30,40,24)];
txtField.textColor = [UIColor blueColor];
[self.view addSubview:txtField];
希望这会对你有所帮助。
答案 2 :(得分:0)
有几种方法,其中一种方法很简单: 转到项目文件导航器,查找
"Supporting Files -> XXX-info.plist",
然后寻找:
Main nib file base name:
删除它。
希望这个帮助
答案 3 :(得分:0)
希望以下步骤有用。
打开ProjectNameInfo.plist文件,然后删除名为Main nib文件基名的属性(位于信息属性列表的底部)。您可以通过单击以选中它,然后按Delete键删除属性。
在Other Sources下,打开main.m,并将调用UIApplicationMain的最后一个参数从nil更改为应用程序委托类的名称(例如,@“ProjectNameAppDelegate”)。
在AppDelegate类中执行以下更改didFinishLaunchingWithOptions:method
//获取屏幕的矩形
CGRect screenBounds = [[UIScreen mainScreen] bounds];
//分配窗口
m_window = [[UIWindow alloc] initWithFrame:screenBounds];
//分配自定义视图
m_view = [[MyView alloc] initWithFrame:screenBounds];
//添加视图并使窗口可见
[m_window addSubview:m_view];
[m_window makeKeyAndVisible];
返回YES;
- >我是从iPhone 3D编程中学到的:Philip Rideout:O'Reilly出版。
你应该在goole书籍中找到以上内容并阅读一些页面以便进一步理解,因为只有上述说明可能还不够。
此外,执行上述步骤后,您可以在不使用xib的情况下制作任意数量的视图控制器和视图...所以请参阅apple提供的各种编程指南文档。
祝你好运
答案 4 :(得分:0)
我为Xcode 4制作了一些无笔尖的项目模板:MinimalisticXcodeTemplates (GitHub)。