现在的位置: 首页 > 综合 > 正文

XCode4.2中使用Empty Application模板替代旧的Window Based Application

2018年07月15日 ⁄ 综合 ⁄ 共 4101字 ⁄ 字号 评论关闭

在XCode4.2中添加MainWindow.xib文件

最近把XCode升级到了最新的4.2版本,然后在创建项目时,发现创建的Winzard改了,没有了以前的Window Based Application了,要创建一个干净点的项目该选用的模板是"Empty Project"。但是创建完之后,项目中不再有MainWindow.xib文件了,不过我们可以自己添加这个文件。

首先,选择添加文件,Cmd+N,然后选择 iOS->User Interface->Empty, Device选择iPhone, 把文件命名为MainWindow。

首先, 把File's Owner改为UIApplication.

Change class of File's Owner to UIApplication

然后再从Library中, 添加一个Object,并把Object的Class改为你自己的AppDelegate。

Add Object to the document

Change class of the object to xAppDelegate


再从Library中添加一个Window对象,

Add a window to the document

(上面四步的图片可以参照下面英文) 

好了,需要的元素都齐了,最后需要把他们链接起来。

1. 把你的AppDelegate中的UIWindow标记为IBOutlet

2. 把MainWindow.xib的FileOwner的delegate设置为你的Demo App Delegate.

3. 把Window和你AppDelegate中的Outlet关联起来。

4. 把项目Summary属性下的Main Interface设置为MainWindow, 同时把appDidLaunchWithOptions中的UIWindow初始化代码删除。

转自http://blog.csdn.net/zhengchaoqun89/article/details/7013802

----------------------------------------------------------------------------

下面是英文版的:

2011-10-13 16:33 510人阅读 评论(2) 收藏 举报
 “FYI, I am very newbie in iPhone development.”

I had upgraded Xcode to 4.2 beta 4 and realised that there is no more templates for iOS 4.
Obviously, it did not include iOS 4 SDK because it said “with iOS 5 SDK”, duh!
I could not go back to Xcode beta 3 since I upgraded my iPhone to beta 4 as well.

Anyway…

In the tutorial that I am learning at the moment, it requires “Window-based application”.
Xcode 4.2 beta 4 does not have “window-based application”; so, I created a project with “Empty application”.
Unfortunately, “Empty application” has no longer “MainWindow.xib”, which tutorial teacher said to modify something in it.
So, I googled to make “MainWindow.xib” visible and found this article.

“MainWindow.xib”
posted by Jeroen Trappers

 

------------------------------------------------------------------------------------------------------------------

MainWindow.xib

Posted on 2011-06-16 by Jeroen
Trappers

In the XCode 4.2 beta, MainWindow.xib is no longer included by default in some project templates. This means that you have to get your application to work by writing some code, using another method, or by manually reconstructing MainWindow.xib. This post shows
the latter. Let’s get started.

Start with Empty Application template

If you create a new project in XCode 4.2 beta, and choose the Empty Application template to start from, change nothing and try running it in your iPhone 5.0 simulator, you will see an empty – black – screen. The only thing you get from the template is an xAppDelegate.h and .m.

We will now reconstruct our own MainWindow.xib, to get started with development the way you’re used to. So the next thing we do is add a New File to the project. Choose iOS > User Interface > Empty as template. Add Empty Interface Builder documentNext,
choose iPhone, next give it the name MainWindow(.xib will be added automatically). By the way, the name of the file is not very important, but it’s nice to chooseMainWindow, because that’s familiar.

Select the new File we just created. What we have now is an empty design surface, in what used to be Interface Builder. Here we’re going to change some things.

The empty design surface of MainWindow.xib

  • Change the class of File’s Owner to UIApplication

Change class of File's Owner to UIApplication

  • Find Object in the Library and drag it onto the Objects pane on the left.

Add Object to the document

  • Change the class of that Object to the xAppDelegate class that was created by the template, you might also want to clear out the “Object” label.

Change class of the object to xAppDelegate

  • Add a Window to the Objects pane on the left.

Add a window to the document

Now, let’s bind it all together. To do this, we first need to change some of the code in the xAppDelegate.h. We have to add IBOutlet to the window property it has,
so that we can  hook it up in Interface Builder. The xAppDelegate.h should read something like this:

@interface DemoAppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) IBOutlet UIWindow *window; @end

Don’t forget to save the file, otherwise Interface Builder will not be able to pick up the Outlet. Next we continue editing the MainWindow.xib

  • Control-Drag from the delegate outlet of the File Owner to the xAppDelegate object.

Link the application delegate

  • Control-Drag from the window outlet of the xAppDelegate to the Window.

Link the window outlet of the app delegate

  • Just for this demo, I’m adding a label to the window.

Add a label for testing

We’re not done yet, but we’re almost there.

  • Navigate to the project, and in the Summary tab, select MainWindow as the Main Interface.

Set the Main Interface to MainWindow

You can now run the project in the Simulator, and the window should show up. However there’s one last thing you might want to clean up. In xAppDelegate.m, there was actually code that creates a window as well. Just put the method

- (BOOL) application:didFinishLaunchingWithOptions:

in comment.

we're done

 

 

I hope this helps to understand exactly how an iOS app starts. The next thing you should do is add a ViewController, and push it onto the MainWindow. I’m not going to cover that here. Please leave your feedback in the comments.

转自:http://blog.163.com/gene_lu/blog/static/64025421201212493832682/

抱歉!评论已关闭.