【第22期】观点:IT 行业加班,到底有没有价值?

IOS--UI--LessonUIControl UIImageView/ UISegmentedControl

原创 2015年07月10日 19:17:19

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
*/

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )

转载出处:http://blog.csdn.net/shulianghan/article/details/50163725; 一. 分段控件 (UISegmentedControl...

RadioGroup实现类似ios的分段选择(UISegmentedControl)控件

在ios7中有一种扁平风格的控件叫做分段选择控件UISegmentedControl,控件分为一排,横放着几个被简单线条隔开的按钮,每次点击只能选择其中一个按钮,他类似于tabbar但是又稍微有点区别,新版的qq手机客户端就用到了这种控件。 但是在android中并没有现成的控件可用,不过an...
  • iaiai
  • iaiai
  • 2016-01-05 16:44
  • 179

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

UI基础之-UIImage,UIImageView, UISegmentedControl,UISlider

一  UIImageView和 UIImage 1.  UIImage 继承自 NSObject,是用来保存图片资源的 UIImageView继承自 UIView, 用来显示图片的控件,相当于一个相框...

iOS开发UI篇—响应者链条

一、触摸事件处理的详细过程 用户点击屏幕后产生的一个触摸事件,经过一些列的传递过程后,会找到最合适的视图控件来处理这个事件 找到最合适的视图控件后,就会调用控件的touches方法来作具体的事件处理 touchesBegan… touchesMoved… touchedEn...
  • iaiai
  • iaiai
  • 2015-01-30 09:43
  • 253

【IOS 开发学习总结-OC-45】★★ios开发之UI控件——UISegmentedControl与UIImageView

UISegmentedControl在头文件中是这样的@interface UISegmentedControl : UIControl ,它继承了UIControl。可以作为活动控件,直接绑定 IB...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)