zoukankan      html  css  js  c++  java
  • 【代码笔记】iOS-先选择城市,然后,跳转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.
    }
    复制代码

     

     

     
     
  • 相关阅读:
    sql sever读取写入Excel总结
    sql sever跨数据库复制数据的方法
    SQLServer2005重建索引前后对比【转】
    SQL自定义函数
    【C】——回调函数实现泛型算法
    【C】——压缩字符串
    【C】——指针与const限定符
    loop within fields
    分类与分步在行测数量关系中的应用
    隔年增长率
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/5639471.html
Copyright © 2011-2022 走看看