UI界面 控件

1.UI中導航控制器和標籤控制器能同時使用,但是隻會有一個根視圖控制器,開發中一般使用標籤控制器管理導航控制器 再管理其他視圖控制器的三級控制器結構

2.CG NS UI 的簡寫:
UI User Interface
NS Nest Step
CG CoreGraphics

3.設置Label自動換行 numberOfLines = 0

4.設置TextFiled 只能輸入數字 可以通過設置keyboard Type

5.程序中存在多個window時 通過windowLevel設置優先級

6.爲了保證層級結構正確 在特定層插入子視圖: insertSubview:atIndex
通過父視圖索引修改子視圖的位置 調到上層或者下層:bringSubviewToFront:
//保證層級結構正確
[self.contentView insertSubview:_reWeiBoTextLabel aboveSubview:_reWeiBoBgImgView];

7.clipsToBounds 裁剪多餘的圖片部分 在layer層裁剪可以使用maskToBounds

8.viewWithTag 根據tag值找到某個視圖

9.[UIViewsetAnimationRepeatCount:NSNotFound];//設置動畫無限重複

10.通過layer圖層給圖片設置圖框的屬性
imgV.layer.borderColor= [[UIColorwhiteColor]CGColor];
imgV.layer.borderWidth=2;
imgV.layer.cornerRadius=5;
imgV.layer.masksToBounds=YES;
移除layer圖層的動畫
UIView*view = [self.viewviewWithTag:100];//取出設置了動畫的視圖
[view.layerremoveAllAnimations];//移除layer圖層上面的動畫

11.button的selected 相當於flag 

12.clearsOnBeginEditing 設置textField的清除樣式

13.returnKeyType 設置return按鈕的樣式

14.通過 UIKeyboardWillShowNotification通知方法監聽鍵盤的顯示

15.通過簽訂 UITextFieldDelegate 協議監聽textField的編輯狀態

16.結束textField的編輯狀態 隱藏鍵盤
//UITextField結束編輯,編輯失去響應
 [textFieldresignFirstResponder];// -> 結束編輯的代理的方法 結束編輯後會調用21. 的方法 鍵盤將隱藏
textFeild 的結束編輯的方法
//1.> 隱藏鍵盤, 2.> textFeild 失去響應;
[self.chatTF endEditing:YES];


17.有些情況下需要拉伸圖片 用以下方法解決
UIEdgeInsetsinset =UIEdgeInsetsMake(imgHeight *.5, imgWidth *.5, imgHeight * .5, imgWidth *.5);//top lef bottom right
//(1)拉伸圖片之後,需要更新img
img  = [imgresizableImageWithCapInsets:inset resizingMode:UIImageResizingModeStretch];
//(2)重新再設置這張圖片
[imgViewsetImage:img];//這裏拉伸圖片

18.將圖片轉換爲data形式 
UIImage *jpgImg = [UIImage imageNamed:@"face9.jpg"];
NSData *data =  UIImageJPEGRepresentation(jpgImg,1);
data = UIImagePNGRepresentation(img);

19. 保存圖片至本地相冊的方法
//將圖片保存到相冊
UIImage*img1 = [UIImageimageNamed:@"face9.jpg"];
UIImageWriteToSavedPhotosAlbum(img1,self,@selector(image:didFinishSavingWithError:contextInfo:),nil);
}
- (
void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo
{
NSLog(@"圖片保存成功!");
}

20.button.showsTouchWhenHighligted = YES;//高亮狀態下會有亮光

21.slider.continuous=NO;//slider設置只有在離開滑動條的最後時刻才觸發滑動事件 而不是實時顯示

22.播放gif動畫:
gifImgView.animationImages= mArr;

23.tintColor是描述線條輪廓的一種顏色,該顏色默認具有傳遞性,默認狀態下最底部的視圖的tintcolor會一直往上面的視圖傳遞

24.color在0-->1.0之內 隨機數只能取整數

25.移除target
[buttonremoveTarget:selfaction:@selector(buttonAction)forControlEvents:UIControlEventTouchUpInside];

26.根據圖片顏色填充背景顏色
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"chat_bg_default.jpg"]];

27.將數組寫出到plist文件
28.NSLog(@"%s",__FUNCTION__);//打印出當前調用的類及方法

29.設置模態彈出的方式:secondVC.modalTransitionStyle=UIModalTransitionStylePartialCurl;

30.refactor ->rename 將所有相關類中的同一對象全部重命名

31.#define IB(a,b,c)  可以傳參數 可以宏定義一個方法

//根據rgb計算color的方法

#define kRGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]


32.有時候button無法設置靠左 使用座標偏移方法
titleButton.contentEdgeInsets=UIEdgeInsetsMake(0,20,0,0);//邊緣嵌入
titleButton.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft;

33.根據輸入的文字計算出總的文字尺寸
CGRectrect = [_contentboundingRectWithSize:CGSizeMake(200,999)options:NSStringDrawingUsesLineFragmentOriginattributes:tmpDiccontext:nil];

34.約束也是對象,可以通過修改約束的偏移值改變其位置
self.bottomConst.constant= rect.size.height;

35.重新佈局 解決鍵盤彈出不正常的問題
//表示tabelView重新再佈局 此方法會觸發layoutSubviews
[self.tbViewlayoutIfNeeded];
自動佈局子視圖 填充數據(給子視圖賦值) 修改父視圖的frame時會自動調用 用於子視圖的自動修改 
創建子視圖的方法放在初始化方法裏 確保只創建一次
layoutSubviews 裏只放配置信息 防止重複創建
[selflayoutIfNeeded];//要判斷是否有標記
[selfsetNeedsLayout];//標記要lagyoutSubviews
- (void)layoutSubviews 
36.離屏繪製(Offscreen drawing):GPU一邊在當前屏幕上進行繪製,而另一邊在屏幕還沒有處理圖像信息之前通過CPU來生成圖像信息的處理過程
當有涉及到動畫的時候離屏繪製就會影響到性能

37.在彈出的AlertView中顯示一個輸入框
[alertC addTextFieldWithConfigurationHandler:nil];
NSInteger index = [alertC.textFields[0].text integerValue];



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章