ios IOS學習之基礎UI介面總結4

2021-06-21 07:07:53 字數 3244 閱讀 8488

下面記錄的是自己學習uitableview**檢視 和android的listview類似

viewdidload  

_tableview=[[uitableview alloc]intiwithframe:view.bounds style:uitableviewstyleplain];

_listarr=@[@"list1",@"list2"];//資料

_tableview.datasource=self; //資料委託

_tableview.delegate=self;   //uitable委託

[self.view addsubview:_tableview];

下面是兩個必須去實現的委託

numberofrowsinsection //每個section的個數

retrun  [_listarr count];

cellforrowatindexpath  //實現資料新增

stratic nsstring *cellid=@"cell";

uitableviewcell *cell=[tableview dequenereuasblecellwithidentfirer:cellid];

if(cell==nil)

nsstring *name=_listarr[indexpath,row];

cell.textlabel.text=name;

return cell;

下面是選擇實現的委託

//section的標題名稱

titleforheaderinsection

return name;

//section的高度

heightforheaderisetcion

//選擇的是某行

didselectrowatindexpath 

//下面是從plist載入字典 

載入字典包  

nsstring *listpath=[nsbundle mainbundle]pathforresource:@"listdata" oftype:@"plist"];

//加入字典

nsdictionary datadic=[nsdictionary dictionarywithcontentsoffile:listpath];

//字典轉成陣列 

nsarray *mylist=[nsarray arrarwitharray:[datadic allkeys]];

//陣列排序 

_plist=[mylist sortedarrayusingselector:@selector(compare:)];

cell的幾個定製方法

1:cell=[x alloc]init style];

[cell.contentview addsubview:myview];

uilabel *label=(uilabel*)[cell.contentview viewwithtag:101];

label.text=_listarray[indexpath.row];

2: nsarray *nibs=[[nsbundle mainbundle]loadnibnamed:@"view" ower:self options:nil];

cell=[nibs objectatindex:0];

uilabel *label=(uilabel*)[cell.contentview viewwithtag:101];

label.text=_listarray[indexpath.row];

3:子類化

覆蓋layoutsubviews

下面是  uiscrollview 

uiscrollview *csroll=[uiscrollview alloc]initwithframe:cgrectmake(0,0,320,400)];

csroll.contentsize=cgsizemake(320*2,400);

csroll.pagingenabled=yes;

csroll.indicatorstyle=uiscrollviewindicatorstylewhite;

[csroll flashscrollindicators];

csroll.contentinset=uiedgeinsetsmake(0,20,0,0);

csroll.directionallockenabled=yes;//是否同時運動

//事件

[scrollview setcontentoffset:cgpointmake(320,0) animated:yes];

// **拖拽減速結束

(void)scrollviewdidenddecelerating:(uiscrollview *)scrollview

else

}//的 viewdidload 

scrollview.minimumzoomscale=0.5 //最小的

scrollview.maximumzoomscale=2  //最大的

//對的縮小的放大

-(uiview*)viewforzoominginscrollview:(uiscrollview *)scrollview

/    photo

scroview.tag=i;

int pre=0;

(void)scrollviewdidenddecelerating:(uiscrollview *)scrollview

}//處理雙擊事件

-(void)zoominorout:(uitapgesturerecognizer *)tapgesture

}在 myimagescorllview

uitapgesturerecognizer *double=[uitapgesturerecongnizer alloc]initwithtarget:self action:@selector(zoominorout:)];

doubletap.numberoftapsrequired=2;

[self addgesturerecognizer:douletap];

介面(UI)測試基礎

介面測試,在web程式雛形後就持續測試到專案交付。專案中的介面測試此刻需要感慨下 產品經理 的重要性 沒有產品把關整個專案,做出來的東西只能叫做 程式 而非 產品 有產品的工作流,測試在介面測試消耗的時間和心思就可以少一些。1.核對ui效果圖 2.所有的彈窗,多級聯動輸入框的風格一致,內容多需要能滾...

UI基礎學習之(十四) 手勢

接上篇 transform 手勢配合使用transform 手勢可以新增在任何想要的地方,一般新增在imageview上。gesturerecognizer 手勢識別器 使用手勢,首先要確定控制項的手勢互動式開啟的 開啟互動 self.rv.imv.userinteractionenabled ye...

UI基礎之UITextField相關

uitextfield textf uitextfield alloc init 1 字型相關 textf.text 文字框文字 textf.textcolor uicolor bluecolor 字型顏色 textf.textalignment nstextalignmentcenter 文字對齊...