您的位置:首页 > 其它

学习Mac开发第四弹 通过NSImageView加载图片

2017-01-04 18:58 393 查看



学习Mac开发第四弹 通过NSImageView加载图片

创建NSImageView
1 . 拖拽大法好 Autolayout 创建一个宽高160 *160 的NSImageView



创建是正方形的 运行后图片居然没有进行铺满。 


修改下Scaling为None



运行效果如下 

cool 这是我想要的结果
如何你想代码创建如下:
NSImageView *imageView = [[NSImageView alloc]initWithFrame:CGRectMake(self.view.frame.size.width/2-80, self.view.frame.size.height/2+80, 160, 160)];


读取资源图片
拖拽个avatarImageView属性对象
@property (weak) IBOutlet NSImageView *avatarImageView;

第一种方法
//加载本地图片,缓存加载图片
self.avatarImageView.image = [NSImage imageNamed:@"2.jpg"];

第二种方法
//加载本地图片 ,不缓存加载图片,常用大图片显示,
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"jpg"];
self.avatarImageView.image = [[NSImage alloc]initWithContentsOfFile:filePath];

第三种方法
//加载网络图片
self.avatarImageView.image = [[NSImage alloc]initWithContentsOfURL:[NSURL URLWithString:@"https://img-blog.csdn.net/20161123152252486"]];

第四种方法 当然也支持大名鼎鼎的SDWebimage库
//SDWebimage
[self.avatarImageView sd_setImageWithURL:[NSURL URLWithString:@"https://img-blog.csdn.net/20161123152252486"]];


显示圆形图片
self.avatarImageView.image = [NSImage imageNamed:@"2.jpg"];
self.avatarImageView.imageScaling =   NSImageScaleNone;
self.avatarImageView.wantsLayer = YES;
self.avatarImageView.layer.masksToBounds = YES;
self.avatarImageView.layer.cornerRadius = 80.f;
self.avatarImageView.layer.borderWidth = 3.0;
self.avatarImageView.layer.borderColor = [[NSColor redColor] CGColor];

这个貌似跟iOS开发没什么区别 效果如下图 


其他属性
//是否可以编辑
self.avatarImageView.enabled = YES;

//对齐方式
self.avatarImageView.imageAlignment = NSImageAlignCenter;

//    typedef NS_ENUM(NSUInteger, NSImageAlignment) {
//        NSImageAlignCenter = 0,
//        NSImageAlignTop,
//        NSImageAlignTopLeft,
//        NSImageAlignTopRight,
//        NSImageAlignLeft,
//        NSImageAlignBottom,
//        NSImageAlignBottomLeft,
//        NSImageAlignBottomRight,
//        NSImageAlignRight
//    };
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mac
相关文章推荐