今天练习的主要目的是:
1。 使用navigation_based application
例子的运行结果为
练习基本步骤为:
1。 首先创建navigation_based_applicaiton, 名称为FlowerInfoNavigator
2. 打开RootViewController, 该类是UITableViewController的子类
首先添加原始数据,在viewDidLoad{
[self createData];
flowerSection = [[NSMutableArray alloc] initWithObjects:@"Red",@"Blue",nil];
NSMutableArray *redFlowers =[[NSMutableArray alloc] init];
NSMutableArray *blueFlowers =[[NSMutableArray alloc] init];
[redFlowers addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Poppy",@"name",@"http://en.wikipedia.org/wiki/Poppy",@"url",nil]];
[redFlowers addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Tulip",@"name",@"http://en.wikipedia.org/wiki/Tulip",@"url",nil]];
[blueFlowers addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Hyacinth",@"name",@"http://en.wikipedia.org/wiki/Hyacinth_(flower)",@"url",nil]];
[blueFlowers addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Hydranges",@"name",@"http://en.wikipedia.org/wiki/Hydrangea",@"url",nil]];
flowerData = [[NSMutableArray alloc]initWithObjects:blueFlowers,redFlowers,nil];
[redFlowers release];
[blueFlowers release];
3. 完成UItableViewController的函数重写
numberOfSectionInTable,
numberOfRowsInSection
cellForRowAtIndexPath
4. 新增文件FlowerDetailViewController及xib
界面上,增加UIWebView, NSUrl, 并且链接到file's Owner
- (void)viewDidLoad {
[super viewDidLoad];
[webView loadRequest:[NSURLRequest requestWithURL:detailUrl]];
}
5. 完成didSelectRowAtIndexPath
这里负责进行FlowerDetailViewController的初始化
同时利用navigator方法进行跳转
FlowerDetailViewController *detailViewController = [[FlowerDetailViewController alloc]initWithNibName:@"FlowerDetailViewController" bundle:nil];
NSMutableArray *tmpData = [flowerData objectAtIndex:indexPath.section];
NSString *urlStr = [[tmpData objectAtIndex:indexPath.row] objectForKey:@"url"];
NSString *name = [[tmpData objectAtIndex:indexPath.row]objectForKey:@"name"];
NSLog(@"%@ %@",urlStr,name);
detailViewController.detailUrl = [NSURL URLWithString:urlStr];
detailViewController.navigationItem.title = name;
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
这个例子完成了。
主要知识点:使用navigatorController导航工具完成视图的跳转
声明:
1。上述例子代码来源于书籍<<Iphone开发入门经典>>,经过本人的实际练习通过。
2。 需要本例子代码的童鞋,请留下电子邮件。