iOS開發小技巧總匯(不定時增添)

2021-07-05 08:15:04 字數 2210 閱讀 6011

一、判斷裝置

//裝置名稱

return[uidevice currentdevice].name;

//裝置型號,只可得到是何裝置,無法得到是第幾代裝置

return[uidevice currentdevice].model;

//系統版本型號,如iphone os

return[uidevice currentdevice].systemversion;

//系統版本名稱,如6.1.3

return[uidevice currentdevice].systemname;

//判斷是否為iphone

#define is_iphone (ui_user_inte***ce_idiom() == uiuserinte***ceidiomphone)

//判斷是否為ipad

#define is_ipad (ui_user_inte***ce_idiom() == uiuserinte***ceidiompad)

//判斷是否為ipod

#define is_ipod ([[[uidevice currentdevice] model] isequaltostring:@"ipod touch"])

//判斷是否為iphone5

#define is_iphone_5_screen [[uiscreen mainscreen] bounds].size.height >= 568.0f && [[uiscreen mainscreen] bounds].size.height < 1024.0f

二、uilabel的行間距

uilabel *label = [[uilabel alloc] initwithframe:labelframe];

[label setbackgroundcolor:[uicolor clearcolor]];

[label settextcolor:textcolor];

[label setnumberoflines:0];

label.font = textfont;

nsstring *labeltext = @"我是內容,我是內容,我是內容,我是內容,我是內容。";

nsmutableattributedstring *attributedstring = [[nsmutableattributedstring alloc] initwithstring:labeltext];

nsmutableparagraphstyle *paragraphstyle = [[nsmutableparagraphstyle alloc] init];

[paragraphstyle setlinespacing:linespace];//調整行間距

[attributedstring addattribute:nsparagraphstyleattributename value:paragraphstyle range:nsmakerange(0, [labeltext length])];

label.attributedtext = attributedstring;

[contentview addsubview:label];

[label sizetofit];

三、label的動態size

nsdictionary* attributes =@;

cgsize labelsize = [text boundingrectwithsize:maxsize options:nsstringdrawinguseslinefragmentorigin|nsstringdrawingusesfontleading|nsstringdrawingtruncateslastvisibleline attributes:attributes context:nil].size;

labelsize.height=ceil(labelsize.height);

return labelsize;

}

C 實用程式設計小技巧(不定時更新)

棧的定義及入棧出棧操作 include 定義 stack stk 入棧 stk.push 列印並出棧 while stk.empty cout 字串 int 引入標頭檔案 include string s to string int n int 字串 利用標準庫中的atoi函式 可以過濾掉字首0 s...

iOS開發小技巧總結

一 nslog的使用 nslog在除錯的時候,屢試不爽,可是在專案中用的太多,其實是會影響程式效能的,而且程式在非除錯模式下也看不到列印,多浪費資源呢?如果程式中使用的太多,發布前刪除又是乙個麻煩事,下個版本又要使用呢?因此,在pch檔案中,加乙個重寫列印的巨集,方便又安逸,還能提高逼格,經驗豐富的...

iOS開發中的小技巧

在ios7.0之後所有控制器預設全屏 由extendedges屬性控制 預設撐滿上下.如果ipad開發 需要橫屏還可以設定左右撐滿.但是scrollview及其子類新增入導航控制器中 自動會有上64 和下49的內邊距,由下面這個屬性控制,如果 主介面 沒有穿透效果 做下面兩個操作 collectio...