iOS---各种控件的创建方法和部分调用方法


1.Image View

//找到图片
UIImage *pImage = [UIImage imageNamed:@"sea.png"];
//根据内容图片创建ImageView
self.pImageView = [[UIImageView alloc]initWithImage:pImage];
//将ImageView放到父视图中
[self.view insertSubview:self.pImageView atIndex:0];
2.Label
//创建一个label
UILabel *pLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 120, 50)];
//添加内容
pLabel.text = @"HelloWorld\nSecondLine";
//设置字体和大小
pLabel.font = [UIFont fontWithName:@"Verdana" size:18];
//字体对齐方式
pLabel.textAlignment = NSTextAlignmentCenter;
//字体颜色
pLabel.textColor = [UIColor redColor];
//显示行数
pLabel.numberOfLines = 2;
//阴影颜色
pLabel.shadowColor = [UIColor blackColor];
//阴影尺寸
pLabel.shadowOffset = CGSizeMake(2.0,1.0);
//设置label的背景色为透明色
pLabel.backgroundColor = [UIColor clearColor];
[self.view addSubview:pLabel];
[pLabel release];
3.TextField
//创建TextField
UITextField *pTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 116, 200, 31)];
//设置边框样式
pTextField.borderStyle = UITextBorderStyleRoundedRect;
//设置字体
pTextField.font = [UIFont systemFontOfSize:18.0];
//根据宽度改变字体
pTextField.adjustsFontSizeToFitWidth = YES;
//最小字体
pTextField.minimumFontSize = 2.0;
//清除按钮的样式
pTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
//弹出的键盘的样式
pTextField.keyboardType = UIKeyboardTypeDefault;
//设置使用自动更正功能
pTextField.autocorrectionType = UITextAutocorrectionTypeNo;
//设置键盘自动大小写的属性
pTextField.autocapitalizationType = UITextAutocapitalizationTypeNone;
//设置返回按钮类型
pTextField.returnKeyType = UIReturnKeyDone;
//设置是否支持密码文本显示
pTextField.secureTextEntry = YES;
//设置委托
pTextField.delegate = self;
[self.view addSubview:pTextField];
[pTextField release];
编写方法时需用到协议UITextFieldDelegate如下:
//弹回键盘方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//放当前的textField放弃第一响应者
[textField resignFirstResponder];
return YES;
}
//触摸背景弹回键盘如下:
- (IBAction)backgroundTap:(id)sender{
[_numberField resignFirstResponder];
[_codeField resignFirstResponder];
}
//一个简单的弹回键盘方法(触摸背景)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.textField endEditing:YES];
}
//限制输入字符串长度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
int MAX_LENGTH = 10;
NSMutableString *pNewString = [NSMutableString stringWithString:textField.text];
//完成range内字符串的替换
[pNewString replaceCharactersInRange:range withString:string];
//根据两个的长度判断,返回YES or NO.
return ([pNewString length] <= MAX_LENGTH);
}
4.Button
//创建一个按钮
UIButton *pBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//设置区域
[pBtn setFrame:CGRectMake(10, 70, 100, 40)];
//设置名字
[pBtn setTitle:@"Normal" forState:UIControlStateNormal];
[pBtn setTitle:@"HighLight" forState:UIControlStateHighlighted];
//允许显示高亮
pBtn.showsTouchWhenHighlighted = YES;
//按钮调用方法
[pBtn addTarget:self action:@selector(buttonDown:) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:pBtn];
// 按钮的响应方法
-(void)buttonDown:(id)sender
{ }
5.CheckboxButton (选中框)
//创建一个自定义按钮
UIButton *pCheckboxButton = [UIButton buttonWithType:UIButtonTypeCustom];
//设置区域
CGRect checkboxRect = CGRectMake(10,155,36,36);
[pCheckboxButton setFrame:checkboxRect];
//分别为两种不同状态设置对应图片
[pCheckboxButton setImage:[UIImage imageNamed:@"checkbox_off.png"] forState:UIControlStateNormal];
[pCheckboxButton setImage:[UIImage imageNamed:@"checkbox_on.png"] forState:UIControlStateSelected];
//添加关联动作
[pCheckboxButton addTarget:self action:@selector(checkboxClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:pCheckboxButton];
//关联方法
- (void)checkboxClick:(UIButton *)btn
{
btn.selected = !btn.selected;
}
6.Slideer——滑块
//创建UISlider对象
UISlider *pSlider = [[UISlider alloc]initWithFrame:CGRectMake(10, 195, 300, 20)];
//设置最小值
pSlider.minimumValue = 0;
//最大值
pSlider.maximumValue = 100;
//是否可以持续滑动
pSlider.continuous = YES;
//设置初始值
pSlider.value = 50;
//透明度
self.pImageView.alpha = pSlider.value/100;
//最小值处的图片
pSlider.minimumValueImage = [UIImage imageNamed:@"apple_min"];
//最大值处的图片
pSlider.maximumValueImage = [UIImage imageNamed:@"apple_max.png"];
//设置当前的图片
[pSlider setThumbImage:[UIImage imageNamed:@"apple_thumb.png"] forState:UIControlStateNormal];
//添加对应动作,注意:CotrolEvents:valueChanged
[pSlider addTarget:self action:@selector(sliderValueChange:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pSlider];
//创建显示当前值的label
self.pShowValueLabel = [[UILabel alloc]initWithFrame:CGRectMake(180, 150, 86, 25)];
//设置背景色
self.pShowValueLabel.backgroundColor = [UIColor lightGrayColor];
//设置当前文本内容
self.pShowValueLabel.text = [NSString stringWithFormat:@"亮度:%%%d",(int)pSlider.value];
[self.view addSubview:self.pShowValueLabel];
//关联方法
- (void)sliderValueChange:(UISlider *)slider
{
//显示当前亮度
self.pShowValueLabel.text = [NSString stringWithFormat:@"亮度:%%%d",(int)slider.value];
//透明度
self.pImageView.alpha = slider.value/100;
}
7.Switch——开关
UISwitch *pSwitch = [[UISwitch alloc]initWithFrame:CGRectMake(220, 10, 10, 50)];
//给开关添加关联动作
[pSwitch addTarget:self action:@selector(switchMethod:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pSwitch];
//关联方法
- (void)switchMethod:(id)sender
{
//找到开关
UISwitch *pSwitch = (UISwitch *)sender;
if (pSwitch.isOn)//根据开关的状态设置背景图hidden
{
[self.pImageView setHidden:NO];
}
else
{
[self.pImageView setHidden:YES];
}
}
8.SegmentControl——分段控制
//创建数组
NSArray *pArr = [NSArray arrayWithObjects:@"1",@"2", nil];
//根据数组对象初始化SegmentControl对象
UISegmentedControl *pSegment = [[UISegmentedControl alloc]initWithItems:pArr];
[pSegment setFrame:CGRectMake(10, 240, 300, 40)];
//设置该分段控件的Style
[pSegment setSegmentedControlStyle:UISegmentedControlStyleBordered];
//设置分段控件选择的段数
[pSegment setSelectedSegmentIndex:0];
//添加关联动作
[pSegment addTarget:self action:@selector(segmentMethod:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pSegment];
9.Progress——进度条
//创建进度条并初始化
self.pProgress = [[UIProgressView alloc]initWithFrame:CGRectMake(10, 360, 300, 30)];
//设置Style
self.pProgress.progressViewStyle = UIProgressViewStyleBar;
//分别设置进度条完成未完成的颜色
self.pProgress.trackTintColor = [UIColor redColor];
self.pProgress.progressTintColor = [UIColor greenColor];
[self.view addSubview:self.pProgress];
//创建用来显示进度的label
self.pProgressValueLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 370, 110, 30)];
self.pProgressValueLabel.backgroundColor = [UIColor clearColor];
self.pProgressValueLabel.text = [NSString stringWithFormat:@"加载:%%%.1f",self.progressValue*100];
[self.view addSubview:self.pProgressValueLabel];
//通过计时器完成循环调用
pTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(progressMethod:) userInfo:nil repeats:YES];
//关联的方法
- (void)progressMethod:(id)sender
{
self.progressValue += 0.1;
self.pProgress.progress = self.progressValue;
self.pProgressValueLabel.text = [NSString stringWithFormat:@"加载:%%%.1f",self.progressValue*100];

//[self.pActivity startAnimating];
if (self.progressValue >= 1)
{
self.progressValue = 0;
self.pProgressValueLabel.text = @"加载完成";
//[self.pActivity stopAnimating];
//self.pActivity.hidden = NO;
//停止计时器
[pTimer invalidate];
}
}
10.ActivityIndicatorView
//创建初始化ActivityIndicatorView(Style)
self.pActivity = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[self.pActivity setFrame:CGRectMake(10, 280, 45, 45)];
//设置是否隐藏
self.pActivity.hidden = NO;
[self.view addSubview:self.pActivity];
//创建按钮,关联对应方法
UIButton *pBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[pBtn setFrame:CGRectMake(10, 330, 45,30 )];
[pBtn setTitle:@"转" forState:UIControlStateNormal];
[pBtn addTarget:self action:@selector(doRotate:) forControlEvents:UIControlEventTouchUpInside];
pBtn.tag = 110;
[self.view addSubview:pBtn];
//关联的方法
- (void)doRotate:(id)sender
{
UIButton *pBtn = (UIButton *)sender;
[self.pActivity isAnimating]?[self.pActivity stopAnimating]:[self.pActivity startAnimating];
//根据Activity是否运行来设置按钮的title
[pBtn setTitle:(self.pActivity.isAnimating?@"停":@"转")forState:UIControlStateNormal];
self.pActivity.hidden = NO;
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值