ios控件与动作

UIControl

—位于控件类树的根部

—使用目标动作方法发送消息

控件种类

—标签

—文本

—按钮

—开关

—分段控制器

控制事件

—基于触摸

—基于数值

—基于编辑

显示控件

UILabel

—只读视图,显示一行或多行文本

1.创建

CGRect labelFrame=CGRectMake(0,10,100,50);

UILabel*myLabel=[[UILabel alloc]initWithFrame:labelFrame];

2.设置颜色

myLabel.backgroundColor=[UIColor clearColor];

myLabel.textColor=[UIColor redColor];

3.设置字体

myLabel.font=[UIFont fontWithName:@"Verdana"

Size:18.0];

4.设置多行文本

myLabel.numberOfLines=2;

myLabel.text=@"Hello World\nSecond line";

5.添加到视图

[self.view addSubview:myLabel];

6.释放

[ myLabel release];

UITTextField

—进行小段文本输入

—一般是单行

1.创建

 CGRect textRect=CGRectMake(10,10,300,31);

UITextField *myTextField=[[UITextField alloc]

initWithFrametextRect];

myTextField.backgroundColor=[UIColor whiteColor];

设置字体

myTextField.font=[UIFont systemFontOfSize:22.0];

myTextField.adjustsFontSizeToFitWidth=YES;

myTextField.minimumFontSize=2.0;

协议

@interface  MyUIControlViewController:

UIViewController<UITextFieldDelegate>

取消键盘显示

-(BOOL)textFieldShouldReturn:(UITextField *)//返回布尔值

textField

{   

     [textField resignFirstResponder];

      return YES;

设置文本框的代理(实现协议回调)

-(void)viewDidLoad

{

myTextField.delegate=self;

}

协议

-BOOLtextField:(UITextField *textField

shouldChangeCharactersInRange:(NSRange)range

replacementString:(NSString *)string

{        int MAX_CHARS=10;

        NSMutableString *newText=[NSMutable

String stringWithString:textField.text];

[newText replaceCharactersInRange:range 

withString:string];

 return([newText length]<=MAX_CHARS);

}

控制控件

—按钮

创建并初始化        

UIButton *myButton=[UIButton buttonWithType:

UIButtonTypeRoundedRect];//buttonWithType是个枚举类

添加目标和动作

[myButton  addTarget:self action:@selector

(buttonDown:) forControlEvents:UIControlEvent

TouchUpInside];//冒号后面带参数

添加动作处理方法

-(void)buttonDown:(id)sender

{   

     NSLog(@"Button pushed down");

}

创建带有图片的按钮

[myButton setImage:[UIImage imageNameed:

@"myButtonImage.png"]

         forState:UIControlStateNormal]

—开关

创建开关

—初始化

CGRect switchRect=CGRectMake(120,50,0,0,);

UISwitch *mySwitch=[[UISwitch alloc]

initWithFrame:switchRect];

添加事件处理

[mySwitch addTarget:self

              action:@selector(switchAction:)

                                                             forControlEvents:UIControlEventValueChanged;

切换开关

[mySwitch setOn:YES animated:YES]

修改开关外观

—获得开关的两个label

UIView *mainView=[[[[mySwitch subviews]

        objectAtIndex:0]subviews]objectAtIndex:2];

UILabel*onLabel=[[mainView subviews]

objectAtIndex:0];

UILabel*offLabel=[[mainView  subviews]

objectAtIndex:1];//subviews 子视图

修改字体和颜色

onLabel.text=@"YES"

offLabel.text=@"NO"

onLabel.textColor=[UIColor yellowColor];

offLabel.textColor=[UIColor greenColor];

滑块

创建

CGRect sliderRect=CGRectMake(20,50,280,40);

UISlider*mySlider=[[UISlider alloc]initWithFrame:

sliderRect];

mySlider.minimumValue=0

mySlider.maximumValue=100;

mySlider.continuous=YES;

.............................

处理滑动事件

-(void)sliderAction:(id)sender

{

     int stepAmount=10

     Float stepValue=abs([(UISlider *)sender value])/stepAmount*stepAmount

[sender setValue:stepValue];

[blSliderValue.text=[NSString stringWithFormat:

   @"%d",(int)stepValue]

     分段控件使用—主要步骤

-调用默认的初始化方法initWithltems:

-设置大小,且控件将会自动调整大小以容纳其分段

   -每个分段以相同大小初始化

-setWidthforSegmentIndex:设置单个分段的宽度.

-setSelected SegmentIndex:选择分段

-setEnabledforSegementAtIndex:关闭单个的分段

-InsertSegments WithImageatIndeanimated:

添加更多分段

-removeSegmentsAtIndexanimated:删除分段

-removeAllSegments:清除整个控件

        分页控件使用—主要步骤

-创建一个滚动视图,并将滚动视图的分页属性打开

-设置分页控件分页数

   -设置滚动视图的contentView为其宽度的三倍

   -关闭滚动视图指示器

-设置分页控件的大小

   -给页面控件添加一个目标

   -一便按下它的时候,它调用changePage:方法

-向滚动视图并排地添加三个UIViews表示3个页面

   -调用creatPages:完成

-实现scrollViewDidScroll:委托方法

-在点击页面控件时,调用changePage

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值