• Phone应用程序开发基础之一: 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平台应用开发的第一步。

  • 相关阅读:
    Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
    Civil 3D 二次开发 创建Civil 3D 对象—— 00 ——
    Civil 3D 二次开发 创建AutoCAD对象—— 01 —— 创建直线
    Civil 3D 二次开发 新建CLR项目出现错误C2143
    Civil 3D 二次开发 创建AutoCAD对象—— 00 ——
    了解AutoCAD对象层次结构 —— 6 ——块表记录
    datepicker97使用
    使用angular 外接 templateUrl,使用ng-include
    angularJs 遮罩
    网上找的有关css兼容问题
  • 原文地址:https://www.cnblogs.com/zhwl/p/2278233.html
Copyright © 2020-2023  润新知