[iPhone程式]iPhone開發心得03-在Window中加入一個UIViewController

转载 2012年03月22日 19:37:12

☉目標:在Window頁面加入UIViewController組件,讓UIViewController的畫面可以顯示在iPhone視窗。 


☉步驟說明: 
(1)選擇File->New Project->建立一個Window-based Application,我取名為LearnLoadMap(這是為了後面的範例而命名的)。 

222 



(2)在專案目錄裡面的Classes資料夾下新增檔案,建立一個UIViewController subclass,這裡我將檔案命名為mapPageController(這是為了後面的範例而命名的)。建立完畢後,專案目錄會多出mapPageController.h和mapPageController.m兩個檔案,專案目錄的畫面如下: 

未命名 -1 



(3)雙擊專案目錄下的MainWindow.xib,就會開啟Interface Builder。在Interface Builder內,可以看到Library視窗,選擇ViewController組件,將它用滑鼠拖曳到左方的MainWindow.xib視窗內。 

未命名 -4  


完成後可以在MainWindow.xib視窗中看到新增的ViewController組件。

(4)選擇MainWindow.xib視窗中的ViewController,接著到右手邊的View Identity視窗,在下拉式選單中選擇Class為mapPageController,也就是剛剛我們在步驟2建立的檔案(類別)。 
111   
選擇完成後,就會發現原本叫做View Controller的組件,名稱變成Map Page Controller。

(5)接著我們在LearnLoadMapApDelegate.h加入第8行和第20行的程式碼。其中宣告IBOutlet表示要讓此變數可以出現在Interface Builder中。這樣我們才可以透過Interface Builder的滑鼠拖曳動作建立UI和變數的連結關係,也就是說我們必須手動設定變數用來表示哪一個UI,這樣才可以透過程式變數去控制使用者介面。 
@interface LearnLoadMapAppDelegate : NSObject  {

    NSManagedObjectModel *managedObjectModel;
    NSManagedObjectContext *managedObjectContext;	    
    NSPersistentStoreCoordinator *persistentStoreCoordinator;

    UIWindow *window;
	UIViewController *vc1;
}

- (IBAction)saveAction:sender;

@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;

@property (nonatomic, readonly) NSString *applicationDocumentsDirectory;

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UIViewController *vc1;

@end


在LearnLoadMapApDelegate.m加入第7行程式。synthesize語法用來表示變數是可以被存取與修改的,類似Public(?)。第16行,用addSubview將我們建立的畫面加入window中,只有當view加入window之後才會真正顯示在畫面上。 

#import "LearnLoadMapAppDelegate.h"


@implementation LearnLoadMapAppDelegate

@synthesize window;
@synthesize vc1; 

#pragma mark -
#pragma mark Application lifecycle

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    
    // Override point for customization after app launch    

	[window addSubview:vc1.view];
	[window makeKeyAndVisible];
}

(6)用Interface Builder建立vc1變數與使用者介面之間的關係未命名 -8 


(7)最後,點選專案目錄的MainWindow.xib,可以看到如下圖的視窗。圖中左邊是View,右邊是Window。因為要驗證有正確的把View放置到Window上面,所以我在View上面放上UIView組件和UIButton組件。
未命名 -10


☉執行結果:
IMG_0007

【IOS 开发学习总结-OC-60】ipad应用开发的一些知识

【IOS 开发学习总结-OC-60】ipad应用开发的一些知识ipad与iPhone上 管理有层次的工作流的不同iPhone上:通过NavigationController,用户可以从上一层界面A到下...
  • senwin2009
  • senwin2009
  • 2015年10月20日 12:13
  • 1286

PhoneGap 外掛程式開發指南

外掛程式開發指南 科爾多瓦外掛程式橋樑有點之間供電科爾多瓦應用和科爾多瓦應用程式的本機平臺 web 視圖的功能在運行時。 外掛程式的使用跨所有平臺和以下特定于平臺的外掛程式介面,JavaScript...
  • dulgao
  • dulgao
  • 2013年12月03日 11:46
  • 857

iOS开发之旅之App的生命周期

iOS开发之旅之App的生命周期,分析iOS应用的生命周期以及基本结构。
  • bboyfeiyu
  • bboyfeiyu
  • 2014年11月30日 15:04
  • 3053

HTTP 服务器开发(Java)--HTTP请求

最近由于要课程作业,要做一个HTTP服务器,现在纪录下我做这个课程作业的全部过程。 (一)理论知识            HTTP(HyperText Transfer Protocol)...
  • yilip
  • yilip
  • 2014年12月07日 19:20
  • 883

ARM 开发板SD卡和NAND的启动过程

开发板一上电就会先地址映射,启动原理如下: (1)pc被置为0,0地址被映射到IROM的起始位置; (2)此时将开始执行,pc会tiao (3) (4)...
  • ying66feng
  • ying66feng
  • 2014年03月14日 17:49
  • 1106

win8 vs2012发布Web应用程序

Visual Studio 2012 Visual Studio Express 2012 for Web 与 的Visual Studio 2010  Visual Studio Web...
  • yf505261213
  • yf505261213
  • 2013年01月03日 22:01
  • 3231

菜鸟是如何在三天内完成系统开发的?

本文为大家讲述一个没有软件开发经验的菜鸟,如何在3天时间里,完成员工管理系统开发的经历。...
  • sinat_35256924
  • sinat_35256924
  • 2016年12月21日 12:10
  • 607

我的iphone不能被虚拟机识别怎么办

特大喜讯:xcode 7 支持免证书真机调试啦。 vmware也可以用来调试ios设备啦 可是……我的手机插上去以后,却没办法在虚拟机里面看到,怎么办? 这篇经验让我告诉大家如果按默...
  • wkyb608
  • wkyb608
  • 2016年08月17日 10:51
  • 1728

IPHONE屏幕大小,分辨率解析

IPHONE屏幕大小,分辨率解析...
  • feng2qing
  • feng2qing
  • 2016年04月28日 20:08
  • 1106

iPhone各种机型尺寸、屏幕分辨率

px与pt区别字体大小的设置单位,常用的有2种:px、pt。这两个有什么区别呢?先搞清基本概念: px就是表示pixel,像素,是屏幕上显示数据的最基本的点; pt就是point,是印刷行业常用单位,...
  • jeikerxiao
  • jeikerxiao
  • 2016年10月09日 16:44
  • 24295
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[iPhone程式]iPhone開發心得03-在Window中加入一個UIViewController
举报原因:
原因补充:

(最多只允许输入30个字)