代码笔记先选择城市,然后,跳转Tabbar
Posted 菜鸟and小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码笔记先选择城市,然后,跳转Tabbar相关的知识,希望对你有一定的参考价值。
一,效果图。
二,工程图。
三,代码。
ChooseCityViewController.h
#import <UIKit/UIKit.h>
@interface ChooseCityViewController : UIViewController
<UITableViewDelegate,UITableViewDataSource>
{
NSMutableArray * dataArray;
UITableView * mTableView;
}
@end
ChooseCityViewController.m
#import "ChooseCityViewController.h"
#import "DetailViewController.h"
@interface ChooseCityViewController ()
@end
@implementation ChooseCityViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
//读取plist文件
[self readPlistFile];
//初始化tableView
[self initTableView];
}
#pragma -mark -functions
-(void)readPlistFile
{
dataArray = [[NSMutableArray alloc] initWithCapacity:0];
NSString * path = [[NSBundle mainBundle] pathForResource:@"city" ofType:@"plist"];
NSDictionary * dict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSEnumerator * enumerator = [dict keyEnumerator];
NSString * key;
while (key = [enumerator nextObject]) {
NSDictionary * t = [dict objectForKey:key];
[dataArray addObject:t];
}
NSLog(@"%@",dataArray);
}
-(void)initTableView
{
mTableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
mTableView.delegate = self;
mTableView.dataSource = self;
mTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
[self.view addSubview:mTableView];
}
#pragma -UITableViewDelegate
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [dataArray count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString * ID = @"cellID";
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:ID];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
}
NSDictionary *dict = [dataArray objectAtIndex:indexPath.row];
cell.textLabel.text = [dict objectForKey:@"city_name"];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary * dict = [dataArray objectAtIndex:indexPath.row];
//把所选择的城市保存到本地
[[NSUserDefaults standardUserDefaults] setObject:[dict objectForKey:@"city_id"] forKey:@"city_id"];
[[NSUserDefaults standardUserDefaults] setObject:[dict objectForKey:@"city_name"] forKey:@"city_name"];
//跳转到另一个有tabbar的页面
DetailViewController *detail=[[DetailViewController alloc]init];
[self.navigationController pushViewController:detail animated:NO];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
以上是关于代码笔记先选择城市,然后,跳转Tabbar的主要内容,如果未能解决你的问题,请参考以下文章