uialertview *alv_obj = [[[uialertview alloc]initwithtitle:@"alertview"
message:@"
this is example!
"delegate:nilcancelbuttontitle:@"
cancel"otherbuttontitles:@"
confirm", nil] autorelease];
[alv_obj show];
//
undocument api uialertview類標頭檔案裡面帶 「 _」的成員是可以通過 valueforkey來引用的。但這些都是不公開的,私有方法
通過字典的方式取出其物件就可以操作其屬性。如下:
uilabel *thetitle = [alv_obj valueforkey:@"
_titlelabel
"]; [thetitle settextcolor:[uicolor greencolor]];
uilabel *thebody = [alv_obj valueforkey:@"
_bodytextlabel
"]; [thebody settextcolor:[uicolor bluecolor]];
/*第一種自定義方法*/
uiimageview *imgv = [alv_obj valueforkey:@"_backgroundimageview"];
imgv.image = [uiimage imagenamed:@"lovechina.png"];
/*第二種自定義方法,因有過期屬性的使用,所以新版ios中無效*/
// undocument api
uiimage *theimage = [uiimage imagenamed:@"lovechina.png"];
theimage = [theimage stretchableimagewithleftcapwidth:0.0 topcapheight:0.0];
cgsize thesize = [alv_obj frame].size;
uigraphicsbeginimagecontext(thesize);
[theimage drawinrect:cgrectmake(0, 0, thesize.width, thesize.height)];
theimage = uigraphicsgetimagefromcurrentimagecontext();
uigraphicsendimagecontext();
alv_obj.layer.contents = (id)[theimage cgimage]; //ios4.0開始不支援contents屬性
/* 第三種自定義方法*/
//遍歷alv_obj物件的子view,獲取其uiimageview檢視
for (uiview *v in [alv_obj subviews])
}/* 第四種自定義方法 */uiview *additionbackgroundview = [[uiview alloc] initwithframe:cgrectmake(0, 0, alv_obj.frame.size.width-30, alv_obj.frame.size.height-20)];
additionbackgroundview.backgroundcolor = [uicolor colorwithpatternimage:[uiimage imagenamed:@"lovechina.png"]];
#if target_iphone_simulator
[alv_obj insertsubview:additionbackgroundview atindex:1];
#else
[alv_obj insertsubview:additionbackgroundview atindex:0];
#endif
[additionbackgroundview release];
/*第五種自定義***/
uialertview *thealert = [[[uialertview alloc] initwithtitle:@"atention"
message:@"我是中國人!"
delegate:nil
cancelbuttontitle:@"取消"
otherbuttontitles:@"確定", nil] autorelease];
uiimage *alertimage = [uiimage imagenamed:@"lovechina.png"];
uiimageview *backgroundimageview = [[uiimageview alloc] initwithimage:alertimage];
backgroundimageview.frame = cgrectmake(0, 0, 282, 160);
backgroundimageview.contentmode = uiviewcontentmodescaletofill;
[thealert addsubview:backgroundimageview];
[thealert sendsubviewtoback:backgroundimageview];
[thealert show];
[thealert release];
本質:作為復合控制項,uialertview是由多個基本控制項組合而成,每個基本控制項的功能也是uialertview的功能的有效組成部分。所以,我們想修改uialertview的某個屬性,可以通過修改控制uialertview的該屬性的基本控制項而達到目的。這是乙個整體和區域性的分析方法。例如本例,我們想修改uialertview的背景圖,就是通過獲取到控制uialertview的背景圖的子控制項uiimageview
而達到目的的。
grep 高階例解
grep 是在linux查詢文字過程最常用的命令,熟悉grep的一些常用命令,可以在個別時候有效提高工作效率。場景一 需要查詢乙個目錄及子目錄所有檔案中出現 aaa 但是同時不能出現bbb的行,查詢不區分大小寫 grep rin aaa grep v bb 解釋 r 遞迴查詢 i 不區分大小寫 n ...
gcc的使用例解
linux系統下的gcc gnu c compiler 是gnu推出的功能強大 效能優越的多平台編譯器,是gnu的代表作品之一。gcc是可以在多種硬體平台上編譯出可執行程式的超級編譯器,其執行效率與一般的編譯器相比平均效率要高20 30 gcc 可同時用來編譯 c 程式和 c 程式。一般來說,c 編...
例解const之一
1.const類例項不能呼叫非const的成員函式,編譯器出錯。include include using namespace std class student int get id private int m id string m name int main root cnc bj 010 2...