IOS--UI--LessonUIControl UIImageView/ UISegmentedControl

UIcontrol 创建用户界面控件对象。
1.定义:在窗体上创建各种组件(比如、按钮、静态文本框、弹出式菜单等)。并指定这些组件的回调函数。
// UIImage 继承 NSObject 用来保存图片资源
UIImageView 用来显示图片的控件 相当于相框 用来显示 UIImage
// 1. UIImageView 加载静态图片
// 获取图片方式1

  UIImage *image = [UIImage imageNamed:@"Pic.jpg"];

//    缺点:第一次找的时候比较麻烦 因为需要缓存一份 (浪费时间)
//    优点:之后再使用在内存缓存的那一份

//获取图片方式2

 //查看图片包得路径
    NSLog(@"%@",[NSBundle mainBundle].bundlePath);
    NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Pic" ofType:@"jpg"];
    UIImage *image = [UIImage imageWithContentsOfFile:filePath];
  //    优点:查找的时候比较方便,能通过路径直接拿到 节省时间
  //    缺点:每次使用都要去通过路径查找

//2. 建个相框

    UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
    imageView.frame = CGRectMake(0, 30, 320, 548);

//  添加到视图上面
    [self.view addSubview:imageView];
    [imageView release];

// 2. UIImageView 加载动态图片
注:动态是很多张 tiff 格式的图片组成的所以要先设定数组

 NSMutableArray *imageArray = [NSMutableArray arrayWithCapacity:22];
 //arrayWithCapacity:后跟的数组就是图片的张数
  for (int i =0; i <22; i++) {
  {
   NSString *imageName = [NSString stringWithFormat:@"zombie%d",i+1];
     //获取文件路径
     NSString *filePath = [[NSBundle mainBundle]pathForResource:imageName ofType:@"tiff"];
        UIImage *image = [UIImage imageWithContentsOfFile:filePath];
       }

     NSString *imageName = [NSString stringWithFormat:@"zombie%d.tiff",i+1];
      UIImage *image = [UIImage imageNamed:imageName];
//       上面的可以简写成下面的格式
       UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"zombie%d",i+1]];
       [imageArray addObject:image];
   }
 //建个相框
 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 30, 280, 508)];

 //设置 imageView 播放的动态图片数组
  imageView.animationImages = imageArray;

//    设定动态图片的循环的次数  无限次循环是数字0
   imageView .animationRepeatCount = 2;

   //设置一组 动态图片的播放速度
  imageView .animationDuration = 0.2;

  //添加到父视图
   [self.view addSubview: imageView];
   [imageView release];

    //开始播放动态图片 一定要加上否则不会自己动啦
   [imageView startAnimating];

3.等比缩放图片

//    创建图片对象
    UIImage *image = [UIImage imageNamed:@"Pic.jpg"];

//   创建 UIImageView对象
    UIImageView *imageView = [[UIImageView alloc]initWithImage:image];

//    计算出 imageView 的高度
    CGFloat height = 100*image.size.height/image.size.width;
    imageView .frame = CGRectMake(30, 20, 100, height);

//添加到父视图 释放
    [self.view addSubview:imageView];
    [imageView release];

// 4. UISegmentedControl 继承 UIControl 由多个分段组成 每个分段都是一个小按钮
4.1 创建一个 segmentControl 对象

 // 1.创建一个 segmentControl 对象
    NSArray *itemArray = @[@"你的红色",@"你的黄色",@"你的绿色",@"你的蓝色"];
    UISegmentedControl * segment = [[UISegmentedControl alloc]initWithItems:itemArray];

 //设置范围 如果不设置它会默认系统给你的位置
    segment.frame = CGRectMake(30, 20, 260, 40);

//    设置默认选择中的分段(一出来就是选中了什么界面)
    segment.selectedSegmentIndex =2;

//    设置边框颜色
    segment.tintColor = [UIColor cyanColor];

//    设置分段的宽度
    [segment setWidth:100 forSegmentAtIndex:0];

//    设置里面的字体 的大小
    NSDictionary *dic = @{NSFontAttributeName:[UIFont boldSystemFontOfSize:17],NSForegroundColorAttributeName:[UIColor orangeColor]};
    [segment setTitleTextAttributes:dic forState:UIControlStateNormal];

//添加到父视图
    [self.view addSubview:segment];
    [segment release];
 // 2. segment 分段的点击事件  这个是继承父类的 东西
    [segment addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
// #pragma mark ------实现点击事件方法------
-(void)segmentAction:(UISegmentedControl *)sender{
    switch (sender.selectedSegmentIndex) {
        case 0:
            self.view.backgroundColor = [UIColor redColor];
            break;
            case 1:
            self.view.backgroundColor = [UIColor yellowColor];
            break;
            case 2:
            self.view.backgroundColor = [UIColor greenColor];
            break;
            case 3:
            self.view.backgroundColor = [UIColor blueColor];
            break;
        default:
            break;
    }
}

// 5.UISlider 滑块控件



//    创建模块
    UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(10, 100, 300, 40)];

//    设置划过区域的颜色
    slider .minimumTrackTintColor = [UIColor redColor];

//    设置未滑过区域的颜色
    slider.maximumTrackTintColor = [UIColor yellowColor];

//    设置滑竿的最大值 最小值
    slider .minimumValue = 0.0;
    slider .maximumValue = 1.0;

//    设置滑竿当前值
    slider . value = 0.5;

//    设置滑块的上面的图片
//    [slider setThumbImage:[UIImage imageNamed:@"123"]forState:UIControlStateNormal];

//    添加到父视图
    [self.view addSubview:slider];
    [slider release];

    [slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
    }

//#pragma  mark------实现滑块事件的方法-----
-(void)sliderAction:(UISlider *)sender{
    self.view.backgroundColor = [UIColor cyanColor];
    self.view.alpha = sender.value;// 通过移动她的值 改变透明度

// 总结:
/*
1.UIControl 是控制类控件 的基类 凡是继承 UIControl 的控件 都可以继承点击事件的方法(addTarget: action:,)也可以 通过 removeTarget: action: 移除事件
2.当我们想让一个类拥有 addTarget:action: 只需要他继承自 UIControl
3.如果想定义一个视图 并能够响应事件 就让他继承 UIControl
*/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值