一、 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
- 开关控件,两种状态:On和Off
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.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