生活随笔
收集整理的這篇文章主要介紹了
iphone UITableView及UIWebView的使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1。新建一個(gè)基于Navigation-based Application的工程。
2。修改原來的RootViewController.h,RootViewController.m,RootViewController.xib為MyTableViewController.h,MyTableViewController.m,MyTableViewController.xib。
3。點(diǎn)擊MainVindow.xib,將Rot View Controller的class設(shè)置為:MyTableViewController。
4。新建文件:DetailViewController.m文件并選擇自動生成.h與.xib文件,然后在DetailViewController.xib拖入一個(gè)map view控件。
5。代碼:(控件與屬性連接就省略了)
第一個(gè)頁面的代碼:
MyTableViewController.h
[cpp] view plaincopyprint?
#import?<UIKit/UIKit.h> ????@interface?MyTableViewController?:?UITableViewController?{????????????NSMutableArray?*listData;??????NSMutableArray?*?twolistData;??}????@property(nonatomic,retain)?NSMutableArray?*listData;??@property(nonatomic,retain)?NSMutableArray?*twolistData;????@end??
#import <UIKit/UIKit.h>@interface MyTableViewController : UITableViewController {NSMutableArray *listData;//表格第一部分的數(shù)據(jù)NSMutableArray * twolistData;//表格第二部分的數(shù)據(jù)
}@property(nonatomic,retain) NSMutableArray *listData;
@property(nonatomic,retain) NSMutableArray *twolistData;@end
MyTableViewController.m
[cpp] view plaincopyprint?
#import?"MyTableViewController.h" ????#import?"DetailViewController.h" ????@implementation?MyTableViewController????@synthesize?listData;??@synthesize?twolistData;????#pragma?mark?- ??#pragma?mark?View?lifecycle ??????-?(void)viewDidLoad?{??????[super?viewDidLoad];????????????listData?=?[[NSMutableArray?alloc]?initWithObjects:@"Beijing",@"Shanghai",@"Guangzhou",nil];????????????twolistData?=?[[NSMutableArray?alloc]?initWithObjects:@"Changsha",?nil];????????????self.title?=?@"第一個(gè)頁面";????????}??#pragma?mark?- ??#pragma?mark?Table?view?data?source ??????-?(NSInteger)numberOfSectionsInTableView:(UITableView?*)tableView?{??????return?2;??}????-?(NSString?*)tableView:(UITableView?*)tableView?titleForHeaderInSection:(NSInteger)section??{??????NSString*?secHeader?=?@"";????????????if?(section?==?0)??????{??????????secHeader?=?@"中國三大城市";??????}??????else?if?(section?==?1)??????{??????????secHeader?=?@"湖南省會";??????}??????return?secHeader;??}??????-?(NSInteger)tableView:(UITableView?*)tableView?numberOfRowsInSection:(NSInteger)section?{??????if?(section?==?0)?{??????????return?listData.count;??????}??????else?if?(section?==?1)?{??????????return?twolistData.count;??????}??????return?0;??}????????-?(UITableViewCell?*)tableView:(UITableView?*)tableView?cellForRowAtIndexPath:(NSIndexPath?*)indexPath?{????????????static?NSString?*CellIdentifier?=?@"Cell";????????????UITableViewCell?*cell?=?[tableView?dequeueReusableCellWithIdentifier:CellIdentifier];??????if?(cell?==?nil)?{??????????cell?=?[[[UITableViewCell?alloc]?initWithStyle:UITableViewCellStyleDefault?reuseIdentifier:CellIdentifier]?autorelease];??????}????????????if?(indexPath.section?==?0)?{??????????cell.textLabel.text?=?[listData?objectAtIndex:indexPath.row];??????}??????else?if(indexPath.section?==?1){??????????cell.textLabel.text?=?[twolistData?objectAtIndex:indexPath.row];??????}??????????????????return?cell;??}????#pragma?mark?- ??#pragma?mark?Table?view?delegate ????-?(void)tableView:(UITableView?*)tableView?didSelectRowAtIndexPath:(NSIndexPath?*)indexPath?{??????NSString?*selectedRow;??????if?(indexPath.section?==?0)?{??????????selectedRow?=?[listData?objectAtIndex:indexPath.row];??????}else?if(indexPath.section?==?1){??????????selectedRow?=?[twolistData?objectAtIndex:indexPath.row];??????}??????????????????DetailViewController?*detailViewController?=?[[DetailViewController?alloc]?initWithNibName:@"DetailViewController"?bundle:nil];??????????????????detailViewController.selectedRow?=?selectedRow;????????????[self.navigationController?pushViewController:detailViewController?animated:YES];????????????[detailViewController?release];??}????#pragma?mark?- ??#pragma?mark?Memory?management ????-?(void)didReceiveMemoryWarning?{??????[super?didReceiveMemoryWarning];????????}??-?(void)viewDidUnload?{????????}????-?(void)dealloc?{??????[listData?release];??????[twolistData?release];??????[super?dealloc];??}??????@end??
#import "MyTableViewController.h"#import "DetailViewController.h"@implementation MyTableViewController@synthesize listData;
@synthesize twolistData;#pragma mark -
#pragma mark View lifecycle//設(shè)置標(biāo)題和初始化表格數(shù)據(jù)
- (void)viewDidLoad {[super viewDidLoad];listData = [[NSMutableArray alloc] initWithObjects:@"Beijing",@"Shanghai",@"Guangzhou",nil];twolistData = [[NSMutableArray alloc] initWithObjects:@"Changsha", nil];self.title = @"第一個(gè)頁面";}
#pragma mark -
#pragma mark Table view data source// 設(shè)置表格為兩個(gè)部分
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {return 2;
}
//設(shè)置每個(gè)部分的標(biāo)題
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{NSString* secHeader = @"";if (section == 0){secHeader = @"中國三大城市";}else if (section == 1){secHeader = @"湖南省會";}return secHeader;
}// 設(shè)置每個(gè)部分的顯示行數(shù)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {if (section == 0) {return listData.count;}else if (section == 1) {return twolistData.count;}return 0;
}// 設(shè)置行數(shù)據(jù)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *CellIdentifier = @"Cell";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];if (cell == nil) {cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];}if (indexPath.section == 0) {cell.textLabel.text = [listData objectAtIndex:indexPath.row];}else if(indexPath.section == 1){cell.textLabel.text = [twolistData objectAtIndex:indexPath.row];}return cell;
}#pragma mark -
#pragma mark Table view delegate
//表格行點(diǎn)擊事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {NSString *selectedRow;if (indexPath.section == 0) {selectedRow = [listData objectAtIndex:indexPath.row];}else if(indexPath.section == 1){selectedRow = [twolistData objectAtIndex:indexPath.row];}DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];detailViewController.selectedRow = selectedRow;[self.navigationController pushViewController:detailViewController animated:YES];[detailViewController release];
}#pragma mark -
#pragma mark Memory management- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];}
- (void)viewDidUnload {}- (void)dealloc {[listData release];[twolistData release];[super dealloc];
}@end
第二個(gè)頁面的代碼:
DetailViewController.h
[cpp] view plaincopyprint?
#import?<UIKit/UIKit.h> ????#import?<Foundation/Foundation.h> ??????@interface?DetailViewController?:?UIViewController?{????????????NSString?*selectedRow;????????????IBOutlet?UIWebView?*webView;????????}????@property?(nonatomic,retain)?NSString?*selectedRow;??@property?(nonatomic,retain)?UIWebView?*webView;????@end??
#import <UIKit/UIKit.h>#import <Foundation/Foundation.h>@interface DetailViewController : UIViewController {NSString *selectedRow;//用來保存前一個(gè)頁面?zhèn)鬟^來的參數(shù)IBOutlet UIWebView *webView;//瀏覽器控件}@property (nonatomic,retain) NSString *selectedRow;
@property (nonatomic,retain) UIWebView *webView;@end
DetailViewController.m
[cpp] view plaincopyprint?
#import?"DetailViewController.h" ????@implementation?DetailViewController????@synthesize?selectedRow,webView;??????-?(void)viewDidLoad?{??????[super?viewDidLoad];????????????self.title?=?selectedRow;????????????NSString*?addressText?=?selectedRow;????????????addressText?=?[addressText?stringByAddingPercentEscapesUsingEncoding:?NSASCIIStringEncoding];????????????NSString*?urlText?=?[NSString?stringWithFormat:@"http://maps.google.com/maps?q=%@",addressText];????????????webView.userInteractionEnabled?=?true;????????????[webView?loadRequest:[[NSURLRequest?alloc]??initWithURL:[[NSURL?alloc]?initWithString:urlText]]];????????}??-?(void)didReceiveMemoryWarning?{??????[super?didReceiveMemoryWarning];??}????-?(void)viewDidUnload?{??????[super?viewDidUnload];??}????-?(void)dealloc?{??????[super?dealloc];??????[selectedRow?release];??????[webView?release];????????}??@end??
#import "DetailViewController.h"@implementation DetailViewController@synthesize selectedRow,webView;//設(shè)置標(biāo)題和根據(jù)傳過來的參數(shù)打開google地圖
- (void)viewDidLoad {[super viewDidLoad];self.title = selectedRow;//設(shè)置標(biāo)題NSString* addressText = selectedRow;addressText = [addressText stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];NSString* urlText = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@",addressText];webView.userInteractionEnabled = true;[webView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:urlText]]];//打開google地圖}
- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];
}- (void)viewDidUnload {[super viewDidUnload];
}- (void)dealloc {[super dealloc];[selectedRow release];[webView release];}
@end
總結(jié)
以上是生活随笔為你收集整理的iphone UITableView及UIWebView的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。