以下是我在开发过程中遇到的一些问题,虽然不多,但是每一个都是花了不少时间解决,如果有错误希望大家指正,有其他tips也请大家在评论区中提出。
2016.09.01
UILabel
和UIImageView
添加手势监听需要设置userInteractionEnabled
属性为YES
.该属性决定UIView是否接受并响应用户的交互.userInteractionEnabled
属性默认值为YES,但UIView的一些子类中对该属性进行了覆盖,并将其默认值设置为了NO,其中UIImageView
和UILabel
就是这样的类数组用
for in
遍历的时候不能改变数组,因为for in
是用枚举来进行的操作Storyboard
中的view
在viewDidLoad
前加载xib
中的view
在viewWillAppear
与viewDidAppear
之间加载UIProgressView
没有修改宽度的API,但是可以通过修改约束修改其宽度@selector
有参数则需要加:
冒号苹果建议使用
CGRectGetWidth([UIScreen mainScreen].bounds)
,少使用[[UIScreen mainScreen] bounds].size.heigh
简单复用,更可读代码注释
[VC 中的代码注释]
#pragam LifeCycle
#pragam Event Method
#pragam Delegate
#pragam Private Method
#pragam Setter and Getter
- 做图片上传时
UIImage
转换NSData
注意压缩
NSData *imageData = UIImagePNGRepresentation(image);
//取UIImage的JPEG格式的NSData
NSData *imageData = UIImageJPEGRepresentation(image,1.0);
//取UIImage的PNG格式的NSData
//第一个方法转换的`NSData`会很大
//第二个方法的第二个参数为压缩系数,0~1
SQLite注意 的
'
问题
注意WHERE
后面是没有单引号的注意
NSOperation
与 第三方ASIFormDataRequest
取消的函数名称一样
[NSOperation cancel];
[ASIFormDataRequest cancel];
- 个推推送完成 恢复角标为
0
时 这两个方法调用顺序不能变
[GeTuiSdk resetBadge];
application.applicationIconBadgeNumber = 0; // 标签
- 个推推送消除通知栏上的消息,消除不了时先置为
1
在置为0
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
2016.09.26
- 推送一条只带Badge的本地通知,设置为-1清除icon上的角标数字,且不清除通知栏上的消息。
-(void)setBadge {
UILocalNotification *locNoti = [[UILocalNotification alloc]init];
locNoti.fireDate = [NSDate dateWithTimeIntervalSinceNow:0.5];
locNoti.timeZone = [NSTimeZone defaultTimeZone];
locNoti.hasAction = NO; // 如果是NO,则下面配置的字符串提醒, 没有效果
locNoti.applicationIconBadgeNumber = -1;
// 立即推送一个本地通知
[[UIApplication sharedApplication]scheduleLocalNotification:locNoti];
}