[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

相关文章推荐

[iPhone程式]iPhone開發心得05-Mapkit之在地圖上加入座標點,使用MKAnnotation和MKAnnotationView

☉目標:在前一個範例中建立的Google Map上,加上座標點(POIs),當點選座標點會觸發對應的event。  ☉限制:必須將iPhone的作業系統更新到OS 3.0版本,開發使用的SDK也...

[iPhone程式]iPhone開發心得04-Mapkit之使用MKMapView實作Google Map

☉目標:使用內建的Mapkit Framework建立一個Google Map畫面,可以對地圖進行拖曳、放大、縮小。  ☉限制:必須將iPhone的作業系統更新到OS 3.0版本,開發使用的...

iPhone开发中两个UIViewController间传递变量和调用方法的处理

其实这个题目里包含了两个东西,传递变量和调用方法,这两个的处理是不一样的,因为之前看了CocoaChina上的那篇文章是混在一起写的,所以这里也放在一篇文章里写。 变量传递 通常就是指要在...

iPhone开发进阶(5) --- 编程定制UIViewController

如第三讲中看到的,即使不使用 XIB 文件,也可以通过重写 viewDidLoad 函数来配置任意的view或者是Controller。这里我们看看怎样编程定制这样的view和Controller。首...

iOS iPad和iPhone开发区别~笔记 03

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄 一、概念 iPhone和iPad开发的区别: 1.屏幕的尺寸 \\分辨率 2.UI元素的排布 \\设计 3.键盘 ...

(1) iphone开发,自定义Window-based Application 模板及委托运行机制

Xcode 4.2之前是有这个模板的,但Xcode 4.2之后的更新版本中就没有了此模板,综合来说模板的作用就是为我们编程的时候节省代码量的。 好了让我们开始自定义Window-based Appl...

Cocco2D-iPhone开发教程part03

  • 2011-07-01 11:12
  • 5.54MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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