从零开始学iPhone开发(2)——控件的使用

这一节我们开始学习iOS中简单控件的使用。

在iOS编程中,简单的控件有很多,其中主要的用的多的有:

UILabel,UIButton,UISegmentedControl, UITextField, UISlider, UISwitch

等。现在我们来学习使用这些控件。

1.首先我们学习在xib上来使用,

如下图,在工程中新建一个TestComponentViewController,并且选中With xib复选框,如下图

然后点击TestComponentViewController.xib文件,拖动右下角的控件到界面上(类似VS),如下图常用控件都可以直接拖进去。

 

现在我们需要对这些控件进行操作,该如何做呢?这里演示UILabel和UIButton的操作,其它操作类似。

如下图,我们首先在TestComponentViewController.h文件中定义需要操作的控件成员变量(以IBOutlet修饰),并且定义点击UIButton后触发的消息函数(以IBAction来修饰),代码如下:

#import <UIKit/UIKit.h>

@interface TestComponentViewController : UIViewController{
    IBOutlet UILabel *_label;
    IBOutlet UIButton *_button;
}

-(IBAction)buttonClicked:(id)sender;

@end

 现在我们需要把代码和xib中的拖到界面上的控件连接对应起来,这样代码操作的就是xib上面的控件。如下图:

对UILabel和成员变量_label进行连接的做法,类似UIButton和成员变量_button可进行同样的连接,消息函数和_button也可以进行同样的连接。

然后我们在TestComponentViewController.m中实现-(IBAction)buttonClicked:(id)sender;消息,实现代码如下:

 

-(IBAction)buttonClicked:(id)sender
{
    _label.text = @"New Clicked Message Text";
    [_button setTitle:@"Clicked" forState:UIControlStateNormal];
}

现在我们可以运行程序了,运行效果如下:

                         (1) 点击Button前                                                 (2) 点击Button后 

现在我们学会了简单的UILabel和UIButton的使用。其它的空间使用类似,但是有些函数触发不太一样。UIButton默认触发函数事件是TouchupInside,而UISegmentedControl默认是ValudeChanged。


2.我们使用纯代码来进行编辑
我们新建TestMenuComponentViewController,不添加xib文件。我们在viewDidLoad函数中来实现这些控件的新建和初始化代码如下:
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    _button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    _button.frame = CGRectMake(35.0, 57.0, 100.0, 44.0);
    [_button setTitle:@"Button" forState:UIControlStateNormal];

    
    _label = [[UILabel alloc] initWithFrame:CGRectMake(35.0, 20.0, 245.0, 21.0)];
    _label.text = @"Label";
    
    [_button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    
    [self.view addSubview:_label];
    [self.view addSubview:_button];
}

 

运行效果如下:



项目源代码链接:

http://115.com/lb/5lbfksd5#
TeachingProject.zip


115网盘礼包码:5lbfksd5

 

 

转载于:https://www.cnblogs.com/yaoliang11/p/3227528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值