Xcode常用方法總結

2021-06-29 11:14:08 字數 4104 閱讀 3424

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...