02-常见控件:UILabel(显示文本)、UIImageView(图片视图)、UISlider(滑动器)、UISwitch(开关)、UIStepper(计数器)、UIToolbar(工具栏)的使用

一、  UILabel

专门用来显示文本内容的控件(不可以编辑文字)

1.     设置显示的文字

  •    storyboard

 

  •    代码
label.text = @"夜间模式";

 

2.     设置文字居中

  •    storyboard

 

  •    代码
label.textAlignment = NSTextAlignmentCenter;

3.     设置自动换行

  •    storyboard

 

  •    代码
label.numberOfLines = 0;

  附录

UILabel常用属性1——实例化和设置文字
// 实例化UILabel并指定其边框
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 210.0, 320.0, 40.0)];
// 设置label显示的文本
[label setText:@"Hello World"];
// 设置字体和字体大小
[label setFont:[UIFont fontWithName:@"Helvetica-Bold" size:40]];

UILabel常用属性2——设置文字颜色及阴影效果
// 设置背景色
[label setBackgroundColor:[UIColor greenColor]];
// 设置文本的颜色
[label setTextColor:[UIColor whiteColor]];
// 设置文本的阴影色彩和透明度
[label setShadowColor:[UIColor colorWithWhite:0.1f alpha:0.8f]];
// 设置阴影的偏移量
[label setShadowOffset:CGSizeMake(2.0f, 2.0f)];

UILabel常用属性3——设置对齐方式及换行
// 设置文本在label中的对齐方式
[label setTextAlignment:NSTextAlignmentCenter];
// 换行技巧:如下换行可实现多行显示,但要求label有足够的宽度。
// 指定换行模式
[label setLineBreakMode:NSLineBreakByWordWrapping];
// 指定label的行数,为0时没有最大行数限制
[label setNumberOfLines:2];

UILabel常用属性4——设置形变参数
// 设置label的旋转角度
[label setTransform:CGAffineTransformMakeRotation(M_PI_4)]

二、  UIImageView

专门用来显示图片的控件

1.     设置显示的图片

  •    storyboard

 

  •    代码
imageView.image = [UIImage imageNamed:@"0.png"];

2.     设置图片的显示模式

设置图片居中显示,并且保持原来宽高比

  •    storyboard

 

  •    代码
imageView.contentMode = UIViewContentModeScaleAspectFit;

  附录

UIImageView的序列帧动画
•    UIImageView可以让一系列的图片在特定的时间内按顺序显示
•    属性说明:
–    animationImages:要显示的一组图片序列
–    animationDuration:完整地显示所有图片所需的时间
–    animationRepeatCount:动画的执行次数(默认为0,代表无限循环)
•    相关方法:
–    - (void)startAnimating; 开始动画
–    - (void)stopAnimating;  停止动画
–    - (BOOL)isAnimating;  是否正在运行动画

三、  UISlider    

        

可以用来显示进度值,并且可以手动修改进度值

1.     基本设置

  • 设置最大值
slider.maximumValue = 15;
  • 设置最小值
slider.minimumValue = 0;
  • 设置当前进度值
slider.value = 5;

2.     事件监听

  • 监听UISlider的进度值改变,应该用Value Changed事件
  • 通过代码为UISlider添加监听器
[slider addTarget:self action:@selector(sliderChange:)  forControlEvents:UIControlEventValueChanged];
  • 当UISlider的进度值发生改变时,会自动调用self的sliderChange:方法,并且将UISlider作为第一个参数传入
- (void) sliderChange:(UISlider *)slider
{

}

 

四、  UISwitch

                  

  • 开关控件,两种状态:OnOff

1.     设置On或者Off

myswitch.on = YES;

2.     判断当前状态

BOOL state = myswitch.isOn;

3.     事件监听

监听UISwitch的状态改变,应该用Value Changed事件(参照UISlider的使用)

 

五、  UIStepper

                   

  • 计数器控件

1.     基本设置

  •  设置最大值
stepper.maximumValue = 15;
  • 设置最小值
stepper.minimumValue = 0;
  • 设置当前值
stepper.value = 5;
  • 每按一次减号,value就会自动减去一定的数值(数值大小由stepValue决定)
  • 每按一次加号,value就会自动增加一定的数值(数值大小由stepValue决定)
  • 当value是最小值时,减号会自动失效(灰色),不能被点击
  • 当value是最大值时,加号会自动失效(灰色),不能被点击 

2.     事件监听

监听UIStepper进度值改变,应该用Value Changed事件(参照UISlider的使用)


六、  UIToolbar

       

1.     简介

  •    UIToolbar是一种工具条
  •    它内部能直接存放的是UIBarButtonItem
  •    如果想要存放其他控件,比如UIButton,必须先包装成UIBarButtonItem

2.     UIBarButtonItem

一般存在于工具条内部

 

3.     通过代码创建UIToolbar

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];

// 设置toolbar的样式
toolbar.barStyle = UIBarStyleBlackTranslucent;

// 左边的item
UIBarButtonItem *left = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];

// 中间的文字
UIBarButtonItem *center = [[UIBarButtonItem alloc] initWithTitle:@"联系人列表" style:UIBarButtonItemStylePlain target:nil action:nil];

// 右边的item
UIBarButtonItem *right = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:nil action:nil];

// 弹簧
UIBarButtonItem *flex = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

UIBarButtonItem *flex2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

// 设置UIToolbar的所有item
toolbar.items = @[left, flex, center,flex2, right];

七、示例

效果图:       通过点击设置 将显示如第二张图所示                            第三张为项目目录文件 供参考

      


主要代码: 

//
//  WHBLAPViewController.h
//  04-whblap查看器
//
//  Created by whblap on 14-6-6.
//  Copyright (c) 2014年 whblap. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface WHBLAPViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *imageNo;  // 第几张照片
@property (weak, nonatomic) IBOutlet UIImageView *imageView; // 所要显示的照片
@property (weak, nonatomic) IBOutlet UILabel *imageDesc;  // 照片的描述
@property (weak, nonatomic) IBOutlet UIView *settingView; // 当点击设置时要显示的紫色部分的视图
- (IBAction)setButton:(id)sender;                  //  点击设置按钮触发的事件
- (IBAction)sliderValueChange:(UISlider *)sender;  // slider的值改变时 图片及图片的描述相应改变
- (IBAction)switch:(UISwitch *)sender;            // 开关 控制背景色 夜间模式
- (IBAction)imageSizeChange:(UISlider *)sender;   // slider的值的改变触发控制图片缩放
@end
WHBLAPViewController.h
//
//  WHBLAPViewController.m
//  04-whblap查看器
//
//  Created by whblap on 14-6-6.
//  Copyright (c) 2014年 whblap. All rights reserved.
//

#import "WHBLAPViewController.h"

@interface WHBLAPViewController ()
{
    NSArray *property;  //描述
}
@end

@implementation WHBLAPViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
//    通过传入文件的全路径解析plist文件来创建数组对象
//    访问项目中资源包里面的所有资源。应该用mainBundle
    NSBundle *bundle = [NSBundle mainBundle];
//     获得文件的全路径
    NSString * url = [bundle pathForResource:@"Property List" ofType:@"plist"];
    // 加载path对应的文件来创建数组
    property = [NSArray arrayWithContentsOfFile:url];
    // 2.设置默认的描述
    _imageDesc.text = property[0];
    _imageView.image = [UIImage imageNamed:@"爱人-唯一-1.jpg"];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (IBAction)setButton:(id)sender {
    [UIView beginAnimations:Nil context:nil];
    [UIView setAnimationDuration:1];
    
    // 1.取出中点
    CGPoint tempCenter = _settingView.center;
    
    // 设置界面目前看不见
    NSLog(@"
 %f_---------------------------------",_settingView.frame.origin.y);
    NSLog(@"
 %f_---------------------------------",self.view.bounds.size.height);
    
    // 判断要隐藏的控件的y坐标和整个View控件的高度是否相等,相等的话就显示隐藏的控件
    if (_settingView.frame.origin.y == self.view.bounds.size.height)
    {
        tempCenter.y -= _settingView.frame.size.height;
    }
    else
    {
        tempCenter.y += _settingView.frame.size.height;
    }
    _settingView.center =  tempCenter;
    
    [UIView commitAnimations];
}

#pragma mark - slider值改变
- (IBAction)sliderValueChange:(UISlider *)sender {
    // 1.设置中间的图片
    // 获得图片名称  %.f 不保留任何小数
    NSString *imageName = [NSString stringWithFormat:@"爱人-唯一-%.f.jpg",sender.value];
    // 根据图片名称设置图片
    _imageView.image = [UIImage imageNamed:imageName];
    // 2.设置序号(第几张)
    _imageNo.text = [NSString stringWithFormat:@"%.f/15",sender.value];
    // 3.设置描述
    int no = sender.value-0.5;
    _imageDesc.text = property[no];
    NSLog(@"%f",sender.value);
    
}

#pragma mark - switch 开关控制 夜间模式
- (IBAction)switch:(UISwitch *)sender {
    if(sender.on)
    {
        self.view.backgroundColor = [UIColor blackColor];
    }
    else
    {
        self.view.backgroundColor = [UIColor whiteColor];
    }
}
- (IBAction)imageSizeChange:(UISlider *)sender {
    _imageView.transform = CGAffineTransformMakeScale(sender.value*2, sender.value*2);
}
@end
WHBLAPViewController.m

  

原文地址:https://www.cnblogs.com/lszwhb/p/3776711.html