iPhone應用程序開發基礎之一: IBOutlet與IBAction


在圖形界面編程時,解決的第一問題就是如何將靜態界面與代碼關聯起來,或者說是代碼如何與界面上的對象

通信, 代碼如何操作界面上的對象。在iPhone平台上,引入了IBOutlet與IBAction。通過在變量前增加IBOutlet

來說明該變量將與界面上的某個UI對象對應,在方法前增加IBAction來說明該方法將與界面上的事件對應.

 

下面通過一個連接網絡服務器(NetworkConnection)的例子來說明IBOutlet與IBAction。

界面上有host 與 port 的Text Field UI對象,一個Button對象。

所以代碼中需要定義兩個IBOutlet變量,分別用來定義host與port; 一個IBAction方法,用來發起連接動作。

 

在NetworkConnectionViewController.h文件中:

定義變量:

@interface NetworkConnectionViewController : UIViewController {
    UITextField *host;
    UITextField *port;
}

將這兩個變量說明為IBOutlet變量:

@property(nonatomic, retain) IBOutlet UITextField *host;
@property(nonatomic, retain) IBOutlet UITextField *port;

 

在NetworkConnectionViewController.m文件中增加:

@synthesize host;
@synthesize port;


打開NetworkConnectionViewController.xib文件,拖兩個Text Field對象到上面。

按住Ctrl鍵,拖拽File's Owner到Text Field之上,會彈出Outlets選擇列表,在列表中可以看到host與port。

分別為兩個Text Field選擇Outlet變量。這樣做了以后,界面上的Text Field對象就與程序中定義的變量就關聯起來,

當改變變量的屬性時,就會顯現在界面上。

為了檢驗變量是否與界面對象關聯,在viewDidLoad方法中給變量付值然后編譯運行。

- (void)viewDidLoad
{
    [super viewDidLoad];
    host.text = @"192.168.1.100";
   
port.text = @"8080";
}

運行后,可以在界面的Text Field中看到這些值,說明變量與界面對象關聯正確。從而就可以在界面中看到變量的值。

 

在NetworkConnectionViewController.h文件中增加一個IBAction方法:

-(IBAction)connectNetwork;

在NetworkConnectionViewController.m文件中實現該方法:

-(IBAction)connectNetwork

   UIAlertView *alter = [[UIAlertView alloc] initWithTitle: @"Connection Network" message: @"sending command to the server" delegate: self cancelButtonTitle: @"OK" otherButtonTitles: nil];
    
    [alter show];
    [alter release];

//connect network 

//............

打開NetworkConnectionViewController.xib,拖一個Round Rect Button到上面。
然后按住Ctrl鍵,拖拽該button到File's Owner上,在彈出的IBAction列表中

選擇connectNetwork。這樣當該button被按下彈起后就會調用connectNetwork方法。

IBOutlet與IBAction是iPhone應用開發的基礎,是成功邁向iPhone平台應用開發的第一步。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM