我正在閱讀O'Rielly編程的iOS4,我正在使用比本書稍微更新版本的XCode。然而,這個細微的變化導致了一些混亂,因爲我無法使用XCode 4.2創建基於窗口的應用程序。顯示窗口,但不能與模擬器交互
無論如何,我開始了一個空的項目,它給了我一個沒有MainWindow.xib的iPhone應用程序的準系統結構。我已經獲得了該項目的代表.h和.m。我開始創建我自己的MainWindow.xib。我發現我必須將「Main nib文件基本名稱」設置爲「MainWindow」才能讓筆尖顯示出來,所以我這樣做了。
在我的MainWindow.xib中,我在窗口對象下添加了一個按鈕,以確保在運行項目時擁有我想要的東西。這是我的筆尖的狀態,現在
,而無需對AppDelegate.h和AppDelegate.m任何改變,我建立並運行我的項目。我能看到按鈕!然而,我無法點擊按鈕,當我按下home按鈕並恢復了我的空應用程序時,我再也看不到按鈕了!這裏有一些文件,我沒有做任何修改:
的main.m
#import <UIKit/UIKit.h>
#import "EmptyWindowAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([EmptyWindowAppDelegate class]));
}
}
EmptyWindowAppDelegate.m
#import "EmptyWindowAppDelegate.h"
@implementation EmptyWindowAppDelegate
@synthesize window = _window;
@synthesize managedObjectContext = __managedObjectContext;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
//...Omitted
我做了窗口對象是一個IBOutlet,我已經有線窗口筆尖對象引用窗口IBOutlet中,仍然沒有去。 – denniss
我將我的項目與模板化的項目進行了比較。唯一的區別是模板化版本具有視圖控制器。但是,我不認爲需要一個控制器? – denniss
我從來沒有嘗試過沒有視圖控制器,我不明白爲什麼你的按鈕不顯示。您可以在代碼中檢查窗口子視圖和按鈕的超級視圖,設置一些IBAction回調。在任何應用程序,它是更好的,並建議有一個視圖控制器。它顯示了 – jbat100