【iOS-Tips】-小贴士
【iOS-Tips】-小贴士
1:UIImage的2种加载方式:
方式一:有缓存(图片所占用的内存会一直停留在程序中)
//name是图片的文件名
+ (UIImage *)imageNamed:(NSString *)name;
方式二:无缓存(图片所占用的内存会在一些特定操作后被清除)
//path是图片的全路径
+ (UIImage *)imageWithContentsOfFile:(NSString *)path
- (id)initWithContentsOfFile:(NSString *)path;
2:常见错误
setValue:forUndefinedKey:]: this class is not key value coding
错误原因是:连线出问题了
3:键盘相关:
resignFirstResponder
当叫出键盘的那个控件(第一响应者)调用这个方法时,就能退出键盘
endEditing
只要调用这个方法的控件内部存在第一响应者,就能退出键盘
4:按钮高亮时没有效果
设置按钮在不同状态下的背景图片(为了保证高亮的图片正常显示,必须设置按钮的type为custom)
// 1.创建一个自定义的按钮
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
5:tranmsform
利用transform属性可以设置旋转角度、比例缩放、平移等属性
@property(nonatomic) CGAffineTransform transform;
通过以下属性可以修改控件的位置
1:frame.origin
2:center
通过以下属性可以修改控件的尺寸
1:frame.size
2:bounds.size
创建一个transform属性(在最原始的位置的基础上)
//移动
CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) ;
//缩放
CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
//旋转(angle为弧度)
CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
在某个transform的基础上进行叠加
CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);
CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);// 角度是正数:顺时针, 角度是负数:逆时针
CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
清空之前设置的transform属性
view.transform = CGAffineTransformIdentity;
获得Plist文件的全路径
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"imageData" ofType:@"plist"];
[NSArray arrayWithContentsOfFile:path];//(带有File的传入的参数为全路径不是文件名)
6:png图片不用加扩展名
7:取出UIButton属性
按钮不仅可以设置相关属性:setTitle,setImage...同样我们还可以根据按钮的状态取出对应的属性值:
//获得按钮的文字
- (NSString *)titleForState:(UIControlState)state;
//获得按钮的文字颜色
- (UIColor *)titleColorForState:(UIControlState)state;
//获得按钮图片
- (UIImage *)imageForState:(UIControlState)state;
//获得按钮的背景图片
- (UIImage *)backgroundImageForState:(UIControlState)state;
这样不方便的话,我们还可以用UIButton的' currentTitle,currentTitleColor,currentImage,currentBackgroundImage '
这些属性来取得当前的属性值。
作者:Darren
微博:@IT_攻城师
github:@Darren90
博客:http://www.cnblogs.com/fengtengfei/
欢迎您的访问...
【iOS-Tips】-小贴士的更多相关文章
- iOS之小功能模块--彩虹动画进度条学习和自主封装改进
前言: 首先展示一下这个iOS小示例的彩色进度条动画效果: 阅读本文先说说好处:对于基础不好的读者,可以直接阅读文末尾的"如何使用彩虹动画进度条"章节,然后将我封装好的这个功能模块 ...
- android性能小贴士 翻译
转自http://developer.android.com/training/articles/perf-tips.html 性能小贴士: 这篇文档主要一些微优化可以提升应用程序性能,但是这些改变不 ...
- Angular2 小贴士 Name
Angular2 正式版已经发布了一个月了,我也是通过各种方式在进行验证是否可以满足我们的需求,今天我就发现了一个问题.现在我们来一起说明一下,这个可能不算是bug,而应该需要我们记住就可以了. 我们 ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
- 【小贴士】虚拟键盘与fixed带给移动端的痛!
前言 今天来公司的主要目的就是研究虚拟键盘与fixed的问题,期间因为同事问起闭包与事件委托(阻止冒泡)相关问题,便穿插了一篇别的: [小贴士]工作中的”闭包“与事件委托的”阻止冒泡“,有兴趣的朋友可 ...
- SVN小贴士
我辛辛苦苦写的到哪里了? SVN小贴士SVN服务器上的代码项目组公用,你的每一个提交都会体现给项目组每个人,所以提交要慎重,要注意避免代码冲突,使用SVN小贴士: 1.提前宣布开发计划,保持项目组成员 ...
- Windows Phone中使用Storyboard做类似 IOS 屏幕小白点的效果
windows phone中做动画其实很方便的,可以使用Blend拖来拖去就做出一个简单的动画,下面做了一个 ios屏幕小白点的拖动效果,包括速度判断移动 使用Blend生成以下代码 <Stor ...
- 【IOS实例小计】今日开贴,记录我的ios学习生涯,留下点滴,留下快乐,成荫后人。
今天开贴来记录自己的ios学习过程,本人目前小白一个,由于对ios感兴趣,所以开始学习,原职java程序,呵呵,勿喷. 本次的[ios实例小计]主要参考一文http://blog.sina.com.c ...
- 小贴士——提高PHP程序在NGINX代理服务器的性能
NGINX本身就是面向最大性能的代理服务器,因此在使用NGINX,并没有性能调整的配置工作.但是却有很多选项可用于定制NGINX的行为,利用底层硬件和操作系统. 下面将介绍用于提供PHP在NGINX的 ...
- jprofiler8使用小贴士
说明:本文的小贴士是针对jprofiler8的,其他版本上可能有不适用的地方 贴士一:使用jpenable监控,无需增加jvm参数和重启 贴士一:使用jpenable监控,无需增加jvm参数和重启 j ...
随机推荐
- js|jquery常用代码
页面重定位: window.location.replace("http://www.bczs.net"); window.location.href = "http:/ ...
- hdu4407Sum(容斥原理)
http://acm.hdu.edu.cn/showproblem.php?pid=4407 Sum Time Limit: 2000/1000 MS (Java/Others) Memory ...
- crm 简约笔记
crm# 给modelform使用的 tutor = models.ForeignKey(verbose_name='班主任', to='UserInfo', related_name='cla ...
- HDU 1166 排兵布阵(线段树单点更新)
题意: 给定n个兵营的士兵初始值, 然后有最多40000个操作: 操作一共有两种, 一个是查询给定[a,b]区间兵营的士兵总和. 另一个是增加/减少指定兵营的士兵数目. 输出每次查询的值. 分析: 线 ...
- java环境配置——配置tomcat用户
Tomcat Manager是Tomcat自带的.用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用.Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Mana ...
- Oracle中有关字符串操作的语法
Oracle中有关字符串操作的语法 Oracle提供了丰富的字符串函数 lpad()函数 lpad()函数用于左补全字符串.在某些情况下,预期的字符串为固定长度,而且格式统一,此时可以考虑使用lpad ...
- 【Ajax 3】JavaScript封装Ajax
导读:上一篇博客简单介绍了一下对Ajax中的核心对象XMLHttpRequest的封装.那么为了方便对Ajax的应用,我们还需要进一步的对Ajax的基本功能进行下一步的封装,不得不说的是早就有人专门写 ...
- Codeforces917C. Pollywog
$n \leq 1e8$个石头,$x \leq 8$个蝌蚪一开始在最左边$x$个石子,要跳到最右的$x$个,每次只能最左边的蝌蚪跳一次,一个石头不能站两个蝌蚪,跳可以跳$1到k,x \leq k \l ...
- 希尔排序(shell)
希尔排序: 思路: 希尔排序是插入排序的一种改进的版本. 先将整个待排序记录序列分割成若干个子序列,在在序列内分别进行直接插入排序,待整个序列基本有序时,再对全体记录进行一次直接插入排序. 这里增量序 ...
- WordPress升级错误:class-wp-filesystem-direct.php on line 122
错误描述:WordPress在后台进行版本升级时,出错,之后进入前台或者后台,都无法访问进入,错误信息如下:Warning: copy(/home/xxx/public_html/wordpress/ ...