iOS-个人整理02 - UILabel/UIIamgeView

昨天学习了工程的建立和UIView视图的简单使用,今天总结一些最基本的控件

一、UILabel

标签,很简单,显示文字的
下面是UILabel的各种属性

  //初始化设置大小,有自己的初始化方法就用自己的,没有就用父类的  
  UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 10,250, 150)];  
  //设置Label的行数,前提是Frame高度要够,当设置为0,文字会根据高度自动折行  
  myLabel.numberOfLines = 0;  
  //设置label背景色  
  [myLabel setBackgroundColor:[UIColor greenColor]];  
  myLabel.text = @"He that would command must serve.";  
  //设置字体的颜色  
  myLabel.textColor = [UIColor blueColor];  
  //输出系统默认的字体大小  
  NSLog(@"%@",myLabel.font);  
  //设置字体大小  
  myLabel.font = [UIFont boldSystemFontOfSize:20];//加粗bold,有些字体不支持  
  
  //阴影的颜色和偏移量  
  myLabel.shadowColor = [UIColor brownColor];  
  myLabel.shadowOffset = CGSizeMake(3, 3);  
    
  //得到系统提供的所有字体  
  NSArray *fonts = [UIFont familyNames];  
  NSLog(@"%@",fonts);  
  //myLabel.font = [UIFont fontWithName:@"Zapfino" size:15];  
    
  //设置Label的折行方式  
  myLabel.lineBreakMode = NSLineBreakByTruncatingMiddle;  
    
  //设置文字对齐方式,居中,左对齐等等  
  myLabel.textAlignment = NSTextAlignmentCenter;  
  //把Label添加到window上  
  [self.window addSubview:myLabel];  

label的换行对齐等属性
UILineBreakModeWordWrap = 0,
以单词为单位换行,以单位为单位截断。
UILineBreakModeCharacterWrap,
以字符为单位换行,以字符为单位截断。
UILineBreakModeClip,
以单词为单位换行。以字符为单位截断。
UILineBreakModeHeadTruncation,
以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。
UILineBreakModeTailTruncation,
以单词为单位换行。无论是单行还是多行,都是末尾有省略号。
UILineBreakModeMiddleTruncation,
以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符

二、UIIamgeView

类似于相框,先创建好再放图片进去
首先拖动一个图片ganggang.jpg到工程目录下


iOS-个人整理02 - UILabel/UIIamgeView_第1张图片

在代码中添加相框和照片对象,这是图片最基本的应用。
在工程中不允许有两个名字相同的图片,即使路径不同

 //初始化相框  
 UIImageView *myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(50, 200, 200, 300)];  
 //添加相框到window  
 [self.window addSubview:myImageView];  
 //创建一个图片对象,当前目录下的图片名  
 UIImage *myImage = [UIImage imageNamed:@"ganggang.jpg"];  
  
 //也可以根据路径得到图片,创建一个路径字符串  
 NSString *path = [[NSBundle mainBundle]pathForResource:@"/Users/Documents/Class_02_UIButtonImage" ofType:@"jpg"];  
 //根据路径得到图片  
 UIImage *image = [UIImage imageWithContentsOfFile:path];  
  
 //把图片对象赋给相框  
 [myImageView setImage:myImage];  

运行后可以看到label和图片的效果。


iOS-个人整理02 - UILabel/UIIamgeView_第2张图片

三、UIView动态图制作

通过将gif的每一帧图放在UIImageView的动态数组里,进行播放操作

#pragma mark 动态图 

    //创建一个ImageView相框  
    UIImageView *imageV = [[UIImageView alloc]initWithFrame:CGRectMake(100,50, 250, 250)];  
    //imageV.center = self.window.center;  
      
    //将gif的每一帧放入数组中  
    NSMutableArray *imageArray = [NSMutableArray array];  
    for (int i = 1; i <= 20; i++) {  
        UIImage *itemImage = [UIImage imageNamed:[NSString stringWithFormat:@"zc%d.tiff",i]];  
        [imageArray addObject:itemImage];  
    }  
      
    //将一组图片放在imageView的动态数组里面  
    imageV.animationImages = imageArray;  
      
    //设置动画持续时间秒,所有图片在这个时间内播完  
    imageV.animationDuration = 2;  
      
    //设置循环次数并让动画开始,两句顺序不能颠倒  
    imageV.animationRepeatCount = 1000;  
      
    //操作动画开始  
    //[imageV startAnimating];  
      
    //动画未开始时设置占位图片  
    imageV.image = [UIImage imageNamed:@"zc1.tiff"];  
      
    //显示在window上  
    [self.window addSubview:imageV];  
      
    //设置相框的标签  
    imageV.tag = 1000;  
      
    //创建一个按钮,控制动画开始和结束  
    UIButton *startBtn = [UIButton buttonWithType:UIButtonTypeSystem];  
    [startBtn setTitle:@"开始动画" forState:UIControlStateNormal];  
    startBtn.frame = CGRectMake(0, 0, 100, 100);  
    [self.window addSubview:startBtn];  
    [startBtn addTarget:self action:@selector(startBtnTouch:) forControlEvents:UIControlEventTouchUpInside];  

-(void)startBtnTouch:(UIButton*)sender  
{  
    //得到相框的标签  
    UIImageView *imageV = (UIImageView*)[self.window viewWithTag:1000];  
    sender.selected = !sender.selected;  
    if (sender.selected) {  
        //控制动图开始  
        [imageV startAnimating];  
    }  
    else  
        //动图停止  
        [imageV stopAnimating];  
}  

图片素材:不会上传压缩包...自己找张gif把每一帧拖出来命名

效果如图,当然他会动


iOS-个人整理02 - UILabel/UIIamgeView_第3张图片

明天总结button的使用

你可能感兴趣的:(iOS-个人整理02 - UILabel/UIIamgeView)