iOS开发iOS DeveloperiOS开发资料收集区

iOS开发百宝箱---那些年我们忽略过得细节(持续更新)

2016-10-30  本文已影响462人  断剑

1.UILabel

@property(nonatomic)        NSLineBreakMode    lineBreakMode;   // default is NSLineBreakByTruncatingTail. used for single and multiple lines of text
NSLineBreakMode 显示样式
NSLineBreakByWordWrapping 单词包裹,以单词为单位显示,后面的部分省略不显示;换行时以一个单词换行
NSLineBreakByCharWrapping 字符包裹,以字符为单位显示,后面的部分省略不显示;换行时以一个字符换行
NSLineBreakByClipping 裁剪超出部分的内容
NSLineBreakByTruncatingHead 头部文字以……方式省略,显示尾部文字内容
NSLineBreakByTruncatingTail 尾部文字以……方式省略,显示头部文字内容
NSLineBreakByTruncatingMiddle 中间文字以……方式省略,显示头部、尾部文字内容

2.UIImageView

@property(nonatomic)                 UIViewContentMode contentMode;                // default is UIViewContentModeScaleToFill
UIViewContentMode 填充模式
UIViewContentModeScaleToFill 默认,将图片按照imageView区域进行拉伸,经常会导致图片变形
UIViewContentModeScaleAspectFill 图片宽高比不变,等比例拉伸,填充整个imageView区域,可能会导致部分图像超出区域而不显示
UIViewContentModeScaleAspectFit 图片宽高比不变,全部显示在imageView区域中,可能会导致imageView存在空白区域
UIViewContentModeCenter 图片中间部分显示在imageView区域中
UIViewContentModeTop 图片顶部部分显示在imageView区域中
UIViewContentModeBottom 图片底部部分显示在imageView区域中
UIViewContentModeLeft 图片左侧部分显示在imageView区域中
UIViewContentModeRight 图片右侧部分显示在imageView区域中
UIViewContentModeTopLeft 图片左上部分显示在imageView区域中
UIViewContentModeTopRight 图片右上部分显示在imageView区域中
UIViewContentModeBottomLeft 图片左下部分显示在imageView区域中
UIViewContentModeBottomRight 图片右下部分显示在imageView区域中
UIViewContentModeRedraw 重新绘制
  • 注意
  1. 不带有Scale,标明图片不可能被拉伸或压缩,当图片尺寸超出imageView尺寸时,只有部分图片会显示出来
示例图片
 //方式一:最常规的设置方式
   UIImageView * imageView = [[UIImageView alloc]init];
   imageView.frame = CGRectMake(10, 10, 100, 100);
   
     //方式二:根据图片的大小进行设置
   
   UIImageView *imageView = [[UIImageView alloc] init];
   UIImage *image = [UIImage imageNamed:@"1"];
   imageView.frame = CGRectMake(100, 100, image.size.width, image.size.height);
   imageView.image = image;
   
  //方式三:初始化时默认设置 initWithImage:控件的尺寸===图片的尺寸
   
   // 创建一个UIimageview对象
   // 注意: initWithImage 默认就有尺寸--->图片的尺寸
   UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1"]];
   
   // 通过改变center,改变位置
   imageView.center = CGPointMake(200, 150);
+ (nullable UIImage *)imageNamed:(NSString *)name; 

+ (nullable UIImage *)imageWithContentsOfFile:(NSString *)path;

我们在项目中加载图片通常会有两种方式

我们利用UIToolBar这个类可以简单粗暴的设置毛玻璃的效果
 //1.创建UIImageView
    UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 100, 260, 260)];
    imageView.image = [UIImage imageNamed:@"IMG_20160319_164125"];
    [self.view addSubview:imageView];
    
    //2.创建UIToolbar
    UIToolbar * toolBar = [[UIToolbar alloc]initWithFrame:imageView.frame];
    
    //3.设置UIToolbar的样式
    toolBar.barStyle = UIBarStyleBlack;
    
    //4.调整UIToolbar的透明度来达到想要的效果
    toolBar.alpha = 0.9;
    
    //5.将UIToolbar覆盖(添加)到UIImageView上面
    [self.view addSubview:toolBar];
UIVisualEffectView是iOS8引入的创建毛玻璃(blur)的接口。
 UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 100, 260, 260)];
    imageView.image = [UIImage imageNamed:@"IMG_20160319_164125"];
    [self.view addSubview:imageView];
    
    
    UIBlurEffect * blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
    
    UIVisualEffectView * effectView = [[UIVisualEffectView alloc]initWithEffect:blur];
    effectView.frame = imageView.bounds;
    
    [imageView addSubview:effectView];
上一篇 下一篇

猜你喜欢

热点阅读