快速創建對象的時候系統會自動釋放一次,如:NSDictionary *dic =[NSDictionary dictionary]; //此時系統自動自動釋放一次記憶體,對象引用計數就 ' -1 '創建(複製)不可變的對象用 copy;創建(複製)可變的對象用 MutableCopy;frame:是以...
快速創建對象的時候系統會自動釋放一次,如:
NSDictionary *dic =[NSDictionary dictionary]; //此時系統自動自動釋放一次記憶體,對象引用計數就 ' -1 '
創建(複製)不可變的對象用 copy;
創建(複製)可變的對象用 MutableCopy;
frame :是以父控制項為參考系,設置自己在父控制項中的坐標,以及設置自己的寬高,frame是以自身左上角做固定;
frame有一個set方法,專一用來在方法中設置在所有子控制項的frame使用.
frame中有一個結構體:
1 CGRectGetHeight(self.view.frame); //獲取高 2 CGRectGetWidth(self.view.frame);//獲取寬 3 CGRectGetMaxX(self.view.frame);//獲取最大X值 4 CGRectGetMaxY(self.view.frame); 5 CGRectGetMidX(self.view.frame);//獲取中間X值 6 CGRectGetMidY(self.view.frame); 7 CGRectGetMinX(self.view.frame);//獲取最小X值 8 CGRectGetMinY(self.view.frame);
bounds :是以自身為參考系,預設坐標為(0,0),但主要作用是用來設置控制項自身大小使用的,以其他控制項的Bounds(包含:寬 和 高)為參考對象,設置自身的大小,一般直接用,bounds是以自身中心點做固定;
例如:
// [UIScreen(屏幕) mainScreen(主屏幕)]
1 self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; //直接拿設備屏幕的bounds(寬高)來設置自己的bounds;
Transform:
1 //定義一個Butoon 2 UIButton *button =[[UIButton alloc]init]; 3 // 4 // transform:是一個結構體,包含了: 5 // CGAffineTransformMake(寬, 正數(順時針旋轉), 負數(逆時針旋轉), 高, X, Y) 6 移動: 7 CGAffineTransformTranslate(button.transform, -50, 50);//不帶'Make'多了一個參數項,是在目前的‘transform’基礎上做移動改變 8 CGAffineTransformMakeTranslation(-50, 50); //帶有“Make”是基於原來的位置與改變後的值兩點之間來回移動 9 // 當需要把一個控制項的位置移回到原來的位置時,就可以直接賦值‘CGAffineTransformIdentity’ 10 button.transform =CGAffineTransformIdentity; 11 縮放: 12 CGAffineTransformScale(button.transform, 1.5, 1.5);//不帶'Make'多了一個參數項,是在目前的‘transform’基礎上做縮放改變 13 CGAffineTransformMakeScale(1.5, 1.5); //帶有“Make”是基於原來的大小與改變後的大小值之間來回切換 14 旋轉: 15 CGAffineTransformRotate(button.transform, M_PI_4); //旋轉4分之一度
MVC : M:(模型) V: view(界面) C:ViewController(控制器)
每個view都有一個屬性參數'subviews',它是一個數組屬性,包含了該view自身所包含的所有子控制項,可以拿他查詢子控制項的個數(subviews.count),或者遍歷所有子控制項.
一個有時候用的上的方法:
1 [self.view.subviews makeObjectsPerformSelector:@selector(click)]; //遍歷所有的子控制項對象,讓他沒每一個都執行後面的方法
1 [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL * _Nonnull stop) { 2 //view就是一個數組,利用數組的遍歷方法,遍歷view中所有的子控制項,獲取每個對象'obj',每個對象下標'idx',停止遍歷條件'stop' 3 }];
父控制項view有一個用戶交互開關: 1 self.view.userInteractionEnabled = NO; //關閉之後所有的子控制項也將隨之關閉用戶交互
UIButton :想要取出當前按鈕 button 的某個屬性內容,就可以調用'.current',無論想要取出當前按鈕的任何屬性,比如圖片,文字,文字顏色.....都可以使用,
例如: 1 NSString *title =buttom.currentTitle; //取出當前按鈕的文本