UI常用控件总结(下)

好了,接着总结上次没总结完的UI常用控件,下面分别是开关控件、分段控件、滑块空间、选择器控件、日期控件。当然还有两种控件自己自学去,分别是文本控件(UITextView)、网页显示控件(UIWebView)。


// UISwitch开关的使用

    

    UISwitch *sw=[[UISwitch alloc]initWithFrame:CGRectMake(100, 65, 100, 50)];//创建switch,并设置大小

    [sw addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];//创建事件

    [self.view addSubview:sw];//添加到父视图

    

    

    //UISegmentedControl的使用

    //设置标题和个数数组

    NSArray *ary=@[@"1",@"2",@"3",@"4"];

    UISegmentedControl *seg=[[UISegmentedControl alloc]initWithItems:ary];

    seg.frame=CGRectMake(50, 100, 200, 50);

    //设置seg的标题和图片,都起到类似标题的作用,没有改变点击后的背景效果

    [seg setTitle:@"123" forSegmentAtIndex:0];

    [seg setImage:[UIImage imageNamed:@"Airplane"] forSegmentAtIndex:0];

    

    

    //设置整个segde 背景图片

    //[seg setBackgroundImage:[UIImage imageNamed:@"Airplane"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    

    //下面这是添加图片的时候所用方法,但不是添加背景图片,而是类似于标题的图片,用不熟练的话很困惑的。

    //[seg insertSegmentWithImage:[UIImage imageNamed:@"Airplane"] atIndex:0 animated:YES];

    

   // seg.segmentedControlStyle=UISegmentedControlStylePlain;//设置样式

    

    seg.segmentedControlStyle=UISegmentedControlStyleBar;

    //当样式设为bar时,这个时候,setTintColor才有效果,否则无效

    [seg setTintColor:[UIColor redColor]];//seg的背景颜色

    [seg setSelectedSegmentIndex:0];//首先显示index=0的内容

    seg.momentary=NO;//设置在点击后是否恢复原样

    seg.multipleTouchEnabled=NO;//可触摸

    

    [seg addTarget:self action:@selector(selectBtn:) forControlEvents:UIControlEventValueChanged];//添加事件

    

    //创建集合,体现标题如果是文字的话,可以设置字号,字体,颜色等

    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,[UIFont fontWithName:@"SnellRoundhand-Bold" size:24],UITextAttributeFont ,nil];

    [seg setTitleTextAttributes:dic forState:UIControlStateNormal];

    

    [self.view addSubview:seg];

    

    

    

    //UISlider的使用

    UISlider *slider=[[UISlider alloc]initWithFrame:CGRectMake(50, 150, 150, 50)];//创建slider滑块,并指定位置大小

    slider.backgroundColor=[UIColor clearColor];//背景颜色

    slider.minimumValue=0.2;//设置最小值

    slider.maximumValue=1;//设置最大值

    slider.value=1;//设置当前值

    self.view.alpha=1;//设置当前视图的透明度

    [slider addTarget:self action:@selector(sder:) forControlEvents:UIControlEventValueChanged];//事件

    [self.view addSubview:slider];

    

    

    //UIPickerView的使用

    pickView=[[UIPickerView alloc]initWithFrame:CGRectMake(0, 200, 320, 216)];

    

    pickView.delegate=self;//设置代理

    pickView.dataSource=self;

    pickView.showsSelectionIndicator=YES;

    

    contentAry=[[NSArray alloc]initWithObjects:@"水瓶座",@"双鱼座",@"天蝎座",@"白羊座",@"金牛座",@"双子座",@"巨蟹座",@"射手座",@"处女座",@"天秤座",@"狮子座",@"摩羯座", nil];

    lab1=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 58)];

    lab1.backgroundColor=[UIColor redColor];

    

    [self.view addSubview:lab1];

  

    [self.view addSubview:pickView];

    

    //UIDatePicker日历控件的使用

    datePick=[[UIDatePicker alloc]initWithFrame:CGRectMake(0, 200, 320, 480)];//创建datepicker日历控件

    //设置日历控件显示日期为当前日期

    datePick.date=[NSDate date];

    datePick.datePickerMode=UIDatePickerModeDateAndTime;//日期选择模式

    [self.view addSubview:datePick];



下面写的是执行的方法,自己可以参考一下。

#pragma mark 返回显示的列数

//返回显示的列数

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{

    return 1;

}

#pragma mark 返回当前显示的列数

//返回当前显示的列数,不用的话会崩溃

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{

    lab1.text=@"水瓶座";//初始设置为显示数组的第一个元素,否则刚开始会默认为空

    return [contentAry count];

}


#pragma mark 设置当前列显示的行数

//设置当前列显示的行数,不用的话会显示问号

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{

    return [contentAry objectAtIndex:row];

}


#pragma mark 点击你所选择的行数

//点击你所选择的行数,不用里面的数据的话,lab1的内容不会改变。

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{

    NSString *result=nil;

    result=[contentAry objectAtIndex:row];

    NSLog(@"result:%@",result);

    lab1.text=result;

}


#pragma mark 滑块控件sder事件

-(void)sder:(UISlider *)sender{

    //value 滑块控件的当前值,它在最大值和最小值之间0~1

    //minimumValue 滑块控件的最小值

    //maximumValue  滑块控件的最大值

    self.view.alpha=sender.value;//设置让当前页面的透明度等于滑块的当前值


}


#pragma mark selectBtn事件

-(void)selectBtn:(UISegmentedControl *)sender{

    //选择段下标

    int index=sender.selectedSegmentIndex;

    NSLog(@"%d,%@",index,[sender titleForSegmentAtIndex:index]);

}


#pragma mark change事件

-(void)change:(UISwitch *)sender{

    //on BOOL值,获取/设置开关状态

    //-(void)setON:(BOOL)on animated:(BOOL)animated  动画设置控件的开关状态

    //UIControlEventValueChanged  事件。用户点击开关控件,会触发此事件!

    if (sender.on) {//BOOL值为on时,执行orangeColor

        self.view.backgroundColor=[UIColor orangeColor];

        

    }else if(sender){//BOOL值不为on时,执行grayColor

        self.view.backgroundColor=[UIColor grayColor];

        

    }

    

}



好了,自此,常用的控件就总结完了,当然总结的不是很全,自己碰到不会的,上网查去!嘿嘿嘿,自从有了网络,自己都变懒了!祝亲们天天好心情。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值