//載入原圖
uiimage *image = [uiimage imagenamed:@""];
//拉伸處理(說明需要保護的區域)
image = [image resizableimagewithcapinsets:uiedgeinsetsmake(30, 30, 30, 30) resizingmode:uiimageresizingmodestretch];
uibutton *btn;
//按鈕內邊距
btn.contentedgeinsets = uiedgeinsetsmake(10, 10, 10, 10);
btn.imageedgeinsets = uiedgeinsetsmake(20, 20, 20, 20);
btn.titleedgeinsets = uiedgeinsetsmake(30, 30, 30, 30);
uibutton的content中包含imageview、label。上面insets即對於每個view設定。
對於uitextfield沒有uibutton的edgeinsets屬性。若想設定uitextfield的編輯區域離uitextfield左側有一段距離,可通過下面方式來實現。
uitextfield *textfield;
uiview *leftview = [[uiview alloc]init];
leftview.frame = cgrectmake(0, 0, 10, 10);
textfield.leftview = leftview;
textfield.leftviewmode = uitextfieldviewmodealways;
//傳送通知
[[nsnotificationcenter defaultcenter]postnotification:note];
//接收通知
//接收到訊息之後的處理
-(void)receivenotification:(nsnotification *)note
系統自帶的一些通知
uidevice通知
uideviceorientationdidchangenotification //裝置旋轉
uidevicebatterystatedidchangenotification//電池狀態改變
uidevicebatteryleveldidchangenotification//電池電量改變
uideviceproximitystatedidchangenotification//近距離感測器(如裝置貼近使用者臉部)
鍵盤通知
uikeyboarddidshownotification//鍵盤即將顯示
uikeyboardwillhidenotification//鍵盤即將隱藏
uikeyboardwillchangeframenotification//鍵盤frame改變
獲取到系統通知時,可檢視系統帶的note
nslog(@"%@",note.userinfo);
//可以檢視到系統傳輸的note
, }";
uikeyboardcenterbeginuserinfokey = "nspoint: ";
uikeyboardcenterenduserinfokey = "nspoint: ";
uikeyboardframebeginuserinfokey = "nsrect: , }";
uikeyboardframeenduserinfokey = "nsrect: , }";
uikeyboardislocaluserinfokey = 1;
}
移除通知
- (void)dealloc
清空,回到初始
self.view
.transform = cgaffinetransformidentity;
按鈕中包含imageview、title
重新設定位置
//重新設定image位置
- (cgrect)imagerectforcontentrect:(cgrect)contentrect
//重新設定title位置
-(cgrect)titlerectforcontentrect:(cgrect)contentrect
- (void)layoutsubviews
開發步驟
總結 如果想監聽別人一些行為,那麼你就要成為別人的**
[self
.tableview addobserver:self forkeypath:@"numberofsections" options:kniloptions context:nil];
//kvo監聽方法
- (void)observevalueforkeypath:(nsstring *)keypath ofobject:(id)object change:(nsdictionary
*)change context:(void *)context
//移除監聽
-(void)dealloc
uitextfield *field = [[uitextfield alloc]init];
//自定義鍵盤
field.inputview = [[uiview alloc]init];
裡面內容都是共享的,每個檔案都會共享。但需要配置,通過 build settings –> prefix
- 存放一些公共巨集
- 存放公用標頭檔案
- 自定義log
//巨集裡面可變引數:...
//函式裡面可變引數:__va_args__
#define sdhlog(...) nslog(__va_args__)
#ifdef debug//除錯階段
#define sdhlog(...) nslog(__va_args__)
#else
#define sdhlog(...)
#endif
oc檔案會定義objc
oc標頭檔案中
拾遺系列 三 螢幕適配 Autolayout
make 做什麼約束 關係 哪個控制項 係數 偏移量 約束型別 1.尺寸 width height size 2.邊界 left leading right trailing top bottom 3.中心點 center centerx centery 4.邊界 edges define mas ...
C 拾遺系列 3 建構函式
1.主要演示建構函式的繼承 2.靜態建構函式 3.示例 using system using system.collections.generic using system.linq using system.text description 建構函式測試 namespace nettest pub...
C 拾遺系列 6 迭代器
1.示例 using system using system.collections.generic using system.linq using system.text using system.collections namespace nettest public class testite...