• 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

      

  • 相关阅读:
    大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础
    大数据技术之_16_Scala学习_03_运算符+程序流程控制
    大数据技术之_16_Scala学习_01_Scala 语言概述
    通过创建一个简单的骰子游戏来探究 Python
    在Linux系统中创建SSH服务器别名
    DNS原理及劫持问题
    详细介绍:Kubernetes1.4版本的新功能
    Linux系统中五款好用的日志分析工具
    wc命令——Linux系统高效数据统计工具
    Linux系统内核正式进入5.0版本时代
  • 原文地址:https://www.cnblogs.com/lszwhb/p/3776711.html
Copyright © 2020-2023  润新知