【移動(dòng)應(yīng)用開發(fā)技術(shù)】ios開發(fā)入門- tableview 簡(jiǎn)單使用(一)_第1頁(yè)
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ios開發(fā)入門- tableview 簡(jiǎn)單使用(一)_第2頁(yè)
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ios開發(fā)入門- tableview 簡(jiǎn)單使用(一)_第3頁(yè)
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ios開發(fā)入門- tableview 簡(jiǎn)單使用(一)_第4頁(yè)
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ios開發(fā)入門- tableview 簡(jiǎn)單使用(一)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】ios開發(fā)入門-tableview簡(jiǎn)單使用(一)

本章目標(biāo):

了解iostableView(tableView和android中的listView是一個(gè)性質(zhì)的)的結(jié)構(gòu),樣式,和簡(jiǎn)單使用

在手機(jī)應(yīng)用程序中我們常??吹郊狭斜韮?nèi)容,它們是怎么實(shí)現(xiàn)的呢,這一章我們來(lái)分解分解。

在iphone中,tableView主要分為兩個(gè)樣式,如下兩種樣式如圖:

這一章我們先做一個(gè)簡(jiǎn)單列表下面我們開始做一個(gè)基本的列表風(fēng)格demo1:創(chuàng)建一個(gè)SingleViewApplication模板的ios應(yīng)用程序項(xiàng)目信息部分如下圖:

點(diǎn)擊next選擇保存位置,創(chuàng)建好后如果你的命名和上圖中的命名是一致的話。application會(huì)包含一個(gè)TableViewVieiwController.xib文件,打開此xib文件。

為我們的視圖文件添加一個(gè)UiTableView組件。如下圖

添加UitableView我們還需要給Uitableview添加委托喝數(shù)據(jù)源呢,按住Ctrl鍵點(diǎn)擊上圖中的Objects-》View-》TableView會(huì)彈出一個(gè)小框框,我們需要把TableView組件下面的Outlets下的dataSource(數(shù)據(jù)源)和delegate(委托)于我們的控制器建立連接,按住ctrl把dataSource(數(shù)據(jù)源)和delegate(委托)后面的小圓圈,拖到File‘s

Owner上面去,建立完成后如下圖

接下來(lái)我們來(lái)編寫我們的控制器打開TableViewViewController.h

為我們的UiTableView組件添加協(xié)議,表示這表視圖的委托喝數(shù)據(jù)源。和一個(gè)NsArray數(shù)據(jù)集合用于存放表視圖要顯示的數(shù)據(jù)。代碼如下:#import<UIKit/UIKit.h>

@interfaceTableViewViewController:UIViewController<UITabBarDelegate,UITableViewDataSource>

@property(nonatomic,retain)NSArray*listData;

@end其中藍(lán)色部分是我們添加的代碼。保存文件,把代碼切換到TableViewViewController.m類中。1:在開頭部分的@implementationTableViewViewController下面添加@synthesizelistData;

此方法會(huì)為我們自動(dòng)生成getset方法。2:在-(void)viewDidLoad方法中,初始化listData集合,代碼如下:-(void)viewDidUnload

{

[superviewDidUnload];

NSArray*array=[[NSArrayalloc]initWithObjects:@"廣州",@"深圳",@"梅州",@"東莞",@"潮汕",@"肇慶",@"四會(huì)",@"佛山",@"湛江",@"江門",@"陽(yáng)江",@"珠海",nil];

self.listData=array;

[arrayrelease];

}上面代碼中我們需要自己銷毀array因?yàn)槲覀儧](méi)有使用自動(dòng)內(nèi)存管理計(jì)數(shù)器。3:因?yàn)槲覀儧](méi)有使用自動(dòng)內(nèi)存管理計(jì)數(shù)器,所以我們還需要銷毀listData集合。所以還需要下面代碼-(void)dealloc

{

self.listData=nil;

[superdealloc];

}

-(void)viewDidLoad

{

[self.listDatarelease];

[superviewDidLoad];

}其中dealloc

方法需要我們自己寫出來(lái),xcode并沒(méi)有為我們生成出來(lái)。

4:視圖控制器最核心的方法,就是這里面,就是為表視圖實(shí)現(xiàn)委托和數(shù)據(jù)源了。先看代碼。#pragmamark-

#pragmamarkTableViewDataSourceMethods

//返回總行數(shù)

-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section

{

NSLog(@"countis%d",[self.listDatacount]);

return[self.listDatacount];

}

//為每一行賦值

staticNSString*SimpleTableIdentifier=@"SimpleTableIdentifier";

-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath

{

UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:SimpleTableIdentifier];

if(cell==nil){//如果行元素為空的話則新建一行

cell=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:SimpleTableIdentifier];

}

//取得當(dāng)前行

NSUIntegerrow=[indexPathrow];

cell.textLabel.text=[listDataobjectAtIndex:row];//設(shè)置每一行要顯示的值

returncell;

}上面代碼中我們定義了一個(gè)靜態(tài)的字符串常量,用此字符串來(lái)表示表單元的鍵,把上面的代碼添加到TableViewViewController.m文件的尾部,是@end上面喔。至此我們完成了一個(gè)簡(jiǎn)單的視圖列表,趕快保存,運(yùn)行看看效果吧。效果圖:

我們?cè)賮?lái)給表視圖添加點(diǎn)元素,讓視圖更多元話,首先先給表視圖添加一個(gè)圖片。在ios下面給表視圖的行左側(cè)添加一個(gè)圖片非常簡(jiǎn)單,因?yàn)閕os已經(jīng)為我們想好了。看代碼(藍(lán)色部分)://為每一行賦值

staticNSString*SimpleTableIdentifier=@"SimpleTableIdentifier";

-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath

{

UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:SimpleTableIdentifier];

if(cell==nil){//如果行元素為空的話則新建一行

cell=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:SimpleTableIdentifier];

}

//取得當(dāng)前行

NSUIntegerrow=[indexPathrow];

cell.p_w_picpathView.p_w_picpath=[UIImagep_w_picpathNamed:@"city.png"];

cell.textLabel.text=[listDataobjectAtIndex:row];//設(shè)置每一行要顯示的值

returncell;

}

一行代碼就搞定了。方便吧,在ios的表視圖中,每個(gè)單元都有一個(gè)ImageView屬性,每個(gè)p_w_picpathView又包含了Image屬性和一個(gè)HighlightedImage屬性,H

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論