1、uiview 邊框效果
calayer *layer = [_myimageview layer];
[layer setcornerradius:10]; //邊框圓角
[layer setmaskstobounds:yes];//設定邊框可見
layer.bordercolor = [[uicolor yellowcolor] cgcolor];
[layer setborderwidth:1];
[control addsubview:_myimageview];
2、uiview的陰影效果
calayer *layer = [imageview layer];
layer.shadowoffset = cgsizemake(0, 3);//shadowoffset陰影偏移,x向右偏移4,y向下偏移4,預設(0, -3),這個跟 shadowradius配合使用
layer.shadowradius = 5.0; //設定陰影的弧度
layer.shadowcolor = [uicolor blackcolor].cgcolor;
layer.shadowopacity = 0.8; //透明度
3、block使用中的一些疑問解答
1. int number = 1;
_block = ^();
number = 2;
_block(); 會把number當成常量變數編碼到block中,使用__block進行修飾,
2. block在建立的時候,它的記憶體是分配在棧(stack)上,而不是在堆(heap)上;
它本身的作用域是建立的時候的作用域,一旦在建立時候的作用域外面呼叫block將導致程式崩潰。
解決這個問題的方法就是在建立完block的時候需要呼叫copy的方法。copy會把block從棧上移動到堆上,那麼就可以在其他 地方使用這個block
3. 在block中使用self的時候,使用__block viewcontroller *controller = self; 修改,
4、獲取資料夾的大小:
通常用於刪除快取的時,計算快取大小
//單個檔案的大小
-(long long) filesizeatpath:(nsstring*) filepath
return 0;
}//遍歷資料夾獲得資料夾大小,返回多少m
-(float ) foldersizeatpath:(nsstring*) folderpath
returnfoldersize/(1024.0*1024.0);
}5、#pragma mark - 限制輸入的漢字個數
[[nsnotificationcenter defaultcenter]addobserver:self selector:@selector(textfilededitchanged:) name:@"uitextfieldtextdidchangenotification" object:nil];
-(void)textfilededitchanged:(nsnotification *)obj
}// 有高亮選擇的字串,則暫不對文字進行統計和限制
else
}// 中文輸入法以外的直接對其統計限制即可,不考慮其他語種情況
else}}
//限制輸入多少個字元
if ([tobestring lengthofbytesusingencoding:nsutf8stringencoding] > reviewnumber) }}
6、判斷乙個物件是什麼物件型別
-(void) onresp:(baseresp*)resp
if([resp iskindofclass:[sendmessagetowxresp class]])
nsstring * classname = @「seenmessageview"
class class = nsclassfromstring(classname);
7、直接跳到 設定裡面的定位授權頁
if (isios8later)
8、改變uitableview的header、footer背景顏色,這是個很常見的問題。之前知道的一般做法是,通過實現tableview: viewforheaderinsection:
返回乙個自定義的view,裡面什麼都不填,只設背景顏色。但是今天發現乙個更簡潔的做法
對於ios 6及以後的系統,實現這個新的delegate函式即可:
- (void)tableview:(uitableview *)tableview willdisplayfooterview:(uiview *)view forsection:(nsinteger)section
還可以改變文字的顏色:
- (void
)tableview:(
uitableview
*)tableview willdisplayheaderview:(
uiview
*)view forsection:(
nsinteger
)section
9、定時器
// 拿到外界傳來的時間戳
- (void
)settimestamp:(
nsinteger
)timestamp}-(
void
)timer:(
nstimer
*)timerr
}- (
void
)getdetailtimewithtimestamp:(
nsinteger
)timestamp
10、使用lipo合併.framework 檔案
lipo -create /users/huobanbengkui/desktop/release-iphoneos/playableadssdk.framework/playableadssdk /users/huobanbengkui/desktop/release-iphonesimulator/playableadssdk.framework/playableadssdk -output /users/huobanbengkui/desktop/playableadssdk
最後是替換,替換(注意坑)
11、取消延遲執行的方法
[nsobject cancelpreviousperformrequestswithtarget:self selector:@selector(issignin) object:nil];
[self performselector:@selector(issignin) withobject:nil afterdelay:1.0];
12、swift 國際化:
1:應用名稱國際化,必須使用infoplist.strings 這樣的檔名,系統使用的查詢
2:內容國際化,必須使用localizable.strings 這樣的檔名,系統查詢
3: 設定語言,然後強制更新
let path = bundle.main.path(forresource: "en", oftype: "lproj");
let bundel = bundle(path: path!);
let str = nslocalizedstring("click", tablename: nil, bundle: bundel!, value: "default", comment: "default");
13、獲取的gps資訊
//獲取的nsurl **於assetslibrary.framework #import
nsurl *url = [info objectforkey:uiimagepickercontrollerreferenceurl];
alassetslibrary *library = [[alassetslibrary alloc]init];
//根據url獲取指定的 如果獲取到了資源執行resultblock,否則執行failureblock
[library assetforurl:url resultblock:^(alasset *asset)failureblock:^(nserror *error)];
總結xcode常用外掛程式
補全增強外掛程式 fuzzyautocomplete xcode本身的 補全功能已經挺好用了,只要按照字母順序,基本上輸入3 4個字母想要的結果都能出來,但是由於oc的命名都是全拼,所以乙個物件的命名或者使用方法的命名可能特別長,有時候只能記住前幾個字母或者上中間幾個字母,這個時候系統提供的外掛程式...
Xcode常用快捷鍵總結
xcode常用快捷鍵,網上找的總結一下,特別是格式化 隱藏xcode command h 退出xcode command q 關閉視窗 command w 關閉所有視窗 command option w 關閉當前專案 command control w 關閉當前檔案 command shift w ...
Xcode常用快捷鍵總結
編譯 command b將 翻譯為計算機能夠識別的語言 0 1 除錯xcode中程式 command r 摺疊與展開方法 h和.m之間切換command control 單行注釋的快捷鍵 command 新增斷點快捷鍵 command 移動的快捷鍵 游標移動快捷鍵 刪除 修改變數名稱的快捷鍵comm...