【iOS-Tips】-小贴士

时间:2023-03-10 05:03:49
【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/

欢迎您的访问...