iOS开发常见错误

来源:互联网 发布:gopro中文软件 编辑:程序博客网 时间:2024/05/16 11:48

1.获得项目中info.plist文件的内容

1> [NSBundle mainBundle].infoDictionary

2版本号在info.plist中的keykCFBundleVersionKey


2.自定义控制器的view

重写loadView方法(不需要调用[super loadView]


3.控制器view的高度和状态栏的关系

创建控制器的view时,系统会检测状态栏是否显示

如果有状态栏,那么控制器view的高度是460iPhone5中是548

如果没有状态栏,那么控制器view的高度是480iPhone5中是568


4.[UIScreen mainScreen].applicationFrame的取值

3.5inch为例(320x480

1没有状态栏,applicationFrame的值{{0,0}, {320,480}}

2有状态栏,applicationFrame的值{{0,20}, {320,460}}


5.按钮的状态

UIControlStateNormal       普通(默认的状态)

UIControlStateHighlighted  高亮(用户长按的时候)

UIControlStateDisabled     失效(通过代码控制:enabled属性)

UIControlStateSelected     选中(通过代码控制:selected属性)


6.错误调试技巧

1一个控件无法显示出来的可能原因

没有宽高(宽高为0)

位置不对

* hidden=YES

没有被addSubview到屏幕上


2一个UIScrollView无法滚动

* contentSize没有值

不能接收到触摸事件


3一个控件无法跟用户交互(无法接收事件)的可能原因

(父控件的)userInteractionEnabled =NO;

(父控件的)hidden =YES

(父控件的)alpha <=0.01

(父控件的)背景是clearColor


7.按钮的设置

// 高亮状态下不更改图片的颜色

self.adjustsImageWhenHighlighted =NO;

// 是否选中状态

self.selected = YES;

// 是否可用状态

self.enabled = YES;

8:设置全屏

1>在info.plist中把Status bar hidden 设置成YES;

2>如果还不成功,再添加一个新row,

View controller-based status bar appearance设置成NO.
</pre><pre id="best-content-1927078004" class="best-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word; font-size: 14px; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace, 'Microsoft YaHei'; color: rgb(51, 51, 51); line-height: 24px; background-color: rgb(243, 255, 236);">

9常用配制

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(6401136), [[UIScreen mainScreen] currentMode].size) : NO)

#define iPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640960), [[UIScreen mainScreen] currentMode].size) : NO)

#define iosDevice [[[UIDevice currentDevice] systemVersion] floatValue]


#define kDeviceWidth                [UIScreen mainScreen].bounds.size.width

#define KDeviceHeight               [UIScreen mainScreen].bounds.size.height


#ifdef DEBUG

#define MyLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

#else

#define MyLog(FORMAT, ...) nil

#endif




0 0
原创粉丝点击