1. 程式人生 > >2015年07月03日第三天筆記

2015年07月03日第三天筆記

2015年07月03日12:09:46
細節歸納

1.獲取螢幕的寬度
CGFloat screenW = self.view.frame.size.width;
2.求邊距
(螢幕的寬度-列數*app的寬度)/ (列數+1)
3.用fame初始化一個UIView物件
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(x,y,w,h)];
4.UIView物件的背景顏色:.backgroundColor
5.在View控制器中 把子控制元件新增的主螢幕
[self.view addSubview:view];
6.座標和長寬的型別是CGFloat型別那個

7.第n個app的X座標(n從0開始)
邊距的寬度+(邊距寬度+app寬度) *(n%列數)

8.第n個app的Y座標(n從0開始)
固定高度+邊距高度+(邊距高度+app高度)* (n/列數)

2015年07月03日12:22:07 字典陣列儲存資料相關

9.單個記錄資料可以存放在字典中,多個記錄就有多個字典,多個字典可以放在一個數組中;資料用陣列儲存
思路歸納
10.關於9 資料存放的實現步驟 === 放在ViewdidLoad方法裡區操作
1)新建一個字典
2)將一個記錄資料按鍵值存放在字典中
3)迴圈做1)2)步驟 直到 所有記錄放在n個字典中
4)定義一個數組,將所有字典放進陣列
細節歸納
11.關於10取資料
1)一個數組元素就是一個字典型別的物件
2)通過字典取值方法:dict[@“icon”];取出

2015年07月03日12:22:29

12.把子控制元件放進父控制元件

[父控制元件 addSubview:子控制元件];

13.初始化一個控制元件

控制元件類 控制元件A = [[控制元件類 alloc] initWithFrame:CGRectMake(x,y,h,w)];

14.UIImageView 物件有個 image 存放 一個 UIImage 物件 來設定圖片

15.設定Label的文字對齊方式:[label setTextAlignment:NSTextAlignmentCenter];

16.設定Label的文字 label.text 設定顏字型 lebel.font = [UIFont systemFontOfSize:13];

17.建立一個按鈕
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
背景圖片 [button setBackgroundImage: forState:];
設定標題 [button setTitle: forState:];
設定位置和尺寸 button.frame;

18.關於9 資料存放的實現步驟 === 為了更好的管理放在plist檔案中
1)建立plist檔案
2)建立陣列,建立字典 ,存放資料
3)取資料1)找到這個檔案,2)根據這個檔案生成陣列 3)這時陣列元素就是一個字典記錄資料

19.18.不能避免最終用字典取資料,所以誕生了模型類

20.在模型類裡封裝用字典取資料,和載入資料的操作

21.然後再控制器裡.引入模型類就可以這個類的屬性訪問資料了。

2015年07月03日18:50:49 根據老師講的應用管理程式總結

思路分析

1.顯示View
1)邊距寬度,邊距高度,app寬度,app高度,狀態列固定高度,螢幕的寬度

2)每個應用佈局,看做一個大View控制元件,利用xib檔案進行封裝,參考xib檔案,利用其陣列中的控制元件,新建一個控制元件類

控制元件類
1)控制元件1;控制元件2;……(.m檔案中類別()中);模型類物件(.h檔案中)
2)重寫模型屬性的setter方法,給屬性屬性賦值,給子控制元件賦值;
3)控制元件的監聽方法;
4)載入xib的控制元件類方法B,返回一個控制元件類物件

2.資料Mode
每個資料屬性一致,只是資料不同,參考plist檔案,利用其陣列中的字典,統一建模型類,這樣一個應用就是一個模型類物件

模型類
1)屬性1;屬性2;……..
2)字典轉模型的物件方法;
3)字典轉模型的類方法;
4)載入,遍歷plist的資料,將字典轉化為模型類A

3.排程Controller
1)定義各種寬度,座標,高度

2)載入資料,定義一個模型陣列屬性來盛放
實際載入過程由模型類去封裝,控制器只需要利用模型類呼叫介面A

3) 遍歷資料,生成子控制元件,新增到主螢幕
子控制元件的生成,利用自定義子控制元件類呼叫介面B
利用子控制元件自帶fame屬性物件設定子控制元件的位置大小
利用子控制元件自定義的模型屬性設定子控制元件的資料

4.下載按鈕的思路
1)禁用
2)改變按鈕名字
3)彈窗

5.彈窗
1)考慮彈窗後,使用者不能再互動;彈窗後,當前按鈕顯示的標題
2)彈窗的表現形式:用Label的動畫變化效果
3)Label的動畫:延遲一秒消失;消失後,讓使用者可以再互動

6.當在一個父控制元件中展示多個相同控制元件時要考慮的
1)該控制元件的寬高
2)每行顯示多少列
3) 控制元件的左右邊距,當每行顯示的列不是均分的時候,要考慮特殊的最左邊距

7.遍歷生成子控制元件要考慮

細節歸納
1.commond + 選中的程式碼 可以拖入程式碼塊,以備下次使用
2.載入Xib資料的方法

AppView * appView = [[NSBundle mainBundle] loadNibNamed:@”AppView” owner:nil options:nil].lastObject;

3.用bounds時,要事先確定該控制元件的center
4.用frame時,先確定該控制元件的大小,然後通過大小計算與主屏的位置
5.設定文字對齊格式 textAlignment
6.設定控制元件透明度 alpha
7.製作控制元件的圓角效果 layer.cornerRadius = 10; clipsToBounds
8.新增帶回調函式的動畫,可以巢狀呼叫

[
UIView 
animateWithDuartion:1 
animations^{} 
completion:^(BOOL finished){}]
;

9.新增不帶回調函式的動畫

[
UIView 
animateWithDuartion:1 
animations^{}
];

10.新增帶延遲,同時有樣式的動畫

[
UIView
animateWithDuration:<#(NSTimeInterval)#>
delay:<#(NSTimeInterval)#>
options:<#(UIViewKeyframeAnimationOptions)#>//UIViewAnimationOptionCurveLinear
animations:<#^(void)animations#>
completion:<#^(BOOL finished)completion#>
];