IOS UILabel的一些使用小技巧

2022-08-30 12:33:09 字數 1818 閱讀 4588

nsstring *string = @"bla";

cgsize s = [string sizewithfont:[uifont systemfontofsize:20]

constrainedtosize:cgsizemake(self.view.bounds.size.width - 40, cgfloat_max) // - 40 for cell padding

的標籤上,例如,將

而不是

label.linebreakmode = uilinebreakmodewordwrap;

2. 為了保持你可以建立乙個巨集,如下:

#ifdef __iphone_6_0

#else

# define line_break_word_wrap uilinebreakmodewordwrap

#endif

typedef enum uilinebreakmode;

uilinebreakmodewordwrap = 0,

以單詞為單位換行,以單位為單位截斷。

uilinebreakmodecharacterwrap,

以字元為單位換行,以字元為單位截斷。

uilinebreakmodeclip,

以單詞為單位換行。以字元為單位截斷。

uilinebreakmodeheadtruncation,

以單詞為單位換行。如果是單行,則開始部分有省略號。如果是多行,則中間有省略號,省略號後面有4個字元。

uilinebreakmodetailtruncation,

以單詞為單位換行。無論是單行還是多行,都是末尾有省略號。

uilinebreakmodemiddletruncation,

以單詞為單位換行。無論是單行還是多行,都是中間有省略號,省略號後面只有2個字元。

//以空格為邊界,保留單詞

//保留整個字元

nslinebreakbyclipping,//簡單剪裁,到邊界為止

nslinebreakbytruncatinghead,//按照"……文字"顯示

nslinebreakbytruncatingtail,//按照"文字……文字"顯示

nslinebreakbytruncatingmiddle//按照"文字……"顯示

例如:uilabel *label = [[uilabel alloc] initwithframe:cgrectmake(0,0,0,0)];//後面還會重新設定其size。

[label setnumberoflines:0];

nsstring *s = @"string......";

uifont *font = [uifont fontwithname:@"arial" size:12];

cgsize size = cgsizemake(320,2000);

cgsize labelsize = [s sizewithfont:font constrainedtosize:sizelinebreakmode:uilinebreakmodewordwrap];

[label setframe:cgrectmake(0, 0, labelsize.width, labelsize.height)];

[self.view addsubview:label];

iOS UILabel的使用方法

uilabel常用屬性 uilabel的建立 uilabel label uilabel alloc init 設定label的位置和大小 label.frame cgrectmake 50,50,100,30 設定文字 label.text hello world 設定背景色 label.back...

Android gridview 使用的一些小問題

1.gridview 水平滑動,網上有很多的介紹,比如 其中我認為對gridview 的 android layout width的設定是比較關鍵的 我是把它設定為乙個定值 例如1000dp 才能夠正常顯示的,其他情況下顯示不出來。2.對於gridview 某一項 子view 的獲取,使用getch...

NSDictionary的一些使用

1.這裡只有這兩個 如果乙個鍵 值對存在 setobject 這個方法就是 修改 如果乙個鍵 值對不存在 這個方法就是 增加。下面看個例子 判斷鍵值對存在與否是看鍵或者 值有乙個相同就是存在。1 nsstring last lastname 2 nsstring first firstname 3 ...