学习Mac开发第四弹 通过NSImageView加载图片
学习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开发第四弹 通过NSImageView加载图片相关推荐
- 学习Mac开发第三弹 通过WebView加载网页
学习Mac开发第三弹 通过WebView加载网页 添加WebKit.framework 关联Delegate 在新建工程的ViewController里拖放一个WebView,并用Autolayou ...
- android开发之用阿里云OSS加载图片
概要 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务.用户可以通过调用API,在任何应用.任何时间.任何地点上传和 ...
- 学习Mac开发第一弹 认识 NSButton
学习Mac开发第一弹 认识 NSButton NSButton 外观与属性 打开storyboard 面版,发现NSButton 有很多类型.先在ViewController 拖个PushButton ...
- android开发学习之路——连连看之加载图片(三)
正如前面AbstractBoard类的代码中看到的,当程序需要创建N个Piece对象时,程序会直接调用ImageUtil的getPlayImages()方法去获取图片,该方法将会随机从res\ dra ...
- postgresql源码学习(57)—— pg中的四种动态库加载方法
一. 基础知识 1. 什么是库 库其实就是一些通用代码,可以在程序中重复使用,比如一些数学函数,可以不需要自己编写,直接调用相关函数即可实现,避免重复造轮子. 在linux中,支持两种类型的库: 1. ...
- Android开发解决加载图片OOM问题(非常全面 兼顾4 0以下系统)(by 星空武哥)
转载请标明:http://blog.csdn.net/lsyz0021/article/details/51295402 我们项目中经常会加载图片,有时候如果加载图片过多的话,小则导致程序很卡,重则O ...
- Android插件化学习之路(一)之动态加载综述
前段时间,公司项目完成了插件化的开发,自己也因此学习了很多Android插件化的知识,于是想把这些内容记录下来,本次带来Android插件化的第一篇:动态加载综述 Android插件化学习之路(一)之 ...
- IOS开发笔记 - 基于SDWebImage的网络图片加载处理
前言: 在IOS下通过URL读一张网络图片并不像Asp.net那样可以直接把图片路径放到图片路径的位置就ok, 而是需要我们通过一段类似流的方式去加载网络图片,接着才能把图片放入图片路径显示. 这里找 ...
- Threejs系列--11游戏开发--沙漠赛车游戏【初步加载地面】
Threejs系列--11游戏开发--沙漠赛车游戏[初步加载地面] 序言 目录结构 代码一览 world/index.js代码 world/Floor.js代码 materials/Floor.js代 ...
最新文章
- python 时序数据库_时序数据库InfluxDB
- java中实现选择文件_Java实现选择文件并显示文件内容代码
- 用jekyll制作高大上的网站(二)——实际应用
- Git提示Please move or remove them before you switch branches.
- 计算机软件水平考试调整,全国计算机等级考试调整方案
- duilib中界面的布局方式
- 贪心——今年暑假不AC(hdu2037)
- 关于Arcgis工作空间的记忆点
- 图像变形功能的应用: 在线修整发型
- 机器学习5-支持向量机
- 迅捷pdf在线转换html,迅捷pdf在线转换成word免费版在线版
- 马拉车算法详解, C++代码实现
- setprecision、setw、fixed详解
- 测试内存条是否兼容软件,18款内存条兼容性测试
- java compile_java中compile函数用法
- hypervisor详解
- [Eclips 安装] eclipse启动不了,出现“Java was...”如何解决
- python水果超市管理系统_java实现水果超市管理系统
- 推荐一些经典的炒股书籍
- android线程作用,Android线程介绍
热门文章
- 江在川上曰:云服务器上的flask项目部署(Ubuntu+Flask+Gunicorn+Supervisor+Nginx+Anaconda)
- byref和byval区别的正确理解
- C\C ++语言 文件备份实验
- EfficientNet B0 训练 Standford 汽车图片分类(对比ResNet34)
- pandas算加权平均值_python – groupby加权平均值和pandas数据帧中的和
- 介绍一个关于小米Zigbee的开源项目
- 微信小程录制视频上传服务器,微信小程序-从相册获取图片,视频使用相机拍照,录像上传+服务器nodejs版接收-微信小程序视频上传功能-微信小程序视频上传...
- Android 文字的收起与展开功能
- 将小写金额转换成中文大写
- 拼出爱心图案的c语言,抖音爱心图片拼图9格照片怎么弄 高格调拼图已被霸屏