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

来源:互联网 发布:软件动态分析工具 编辑:程序博客网 时间:2024/06/05 00:15

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
原创粉丝点击