android 轉 ios 學習筆記

1.獲得項目中info.plist文件的內容

1> [NSBundle mainBundle].infoDictionary

2> 版本號在info.plist中的keykCFBundleVersionKey

[NSString stringWithFormat:@"%@%@",@"版本號:",[[NSBundle mainBundle].infoDictionary  objectForKey:@"CFBundleShortVersionString"]]



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到屏幕上

* 使用了autolayout;解決方案取消使用autolayout,或者調用 [self.imageview1setTranslatesAutoresizingMaskIntoConstraints:YES];


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.


9常用配製

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

#define iPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,960), [[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





發佈了58 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章