zoukankan      html  css  js  c++  java
  • 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平台应用开发的第一步。

  • 相关阅读:
    sql-DDL, DML 常用语句
    7.8 Structured Streaming
    7.7 输出操作
    7.6 转换操作
    7.5 高级数据源---Kafka
    7.4 基本输入源
    7.3 DStream操作
    7.2 Spark Streaming
    7.1 流计算概述
    6.3 使用Spark SQL读写数据库
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4864375.html
Copyright © 2011-2022 走看看