iOS UI09_多种Tableview

//
//  MainViewController.m
//  UI09_多种Tableview
//
//  Created by dllo on 15/8/10.
//  Copyright (c) 2015年 zhozhicheng. All rights reserved.
//

#import "MainViewController.h"

@interface MainViewController ()<UITableViewDataSource,UITableViewDelegate>
@property(nonatomic,retain)NSMutableArray *proArr;
@property(nonatomic,retain)UITableView *tableView1;
@property(nonatomic,retain)UITableView *tableView2;
@property(nonatomic,retain)UITableView *tableView3;
@property(nonatomic,retain)NSMutableArray *cityArr;
@property(nonatomic,retain)NSMutableArray *zoneArr;

@end

@implementation MainViewController
-(void)dealloc
{
    [_proArr release];
    [_cityArr release];
    [_zoneArr release];
    [super dealloc];
}
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        [self createData];
    }return self;
}
-(void)createData
{
    //文件的路径
    NSString *[email protected]"/Users/dllo/Desktop/作业 /UI08_tableView省市区字典数组/UI08_tableView省市区字典数组/area.txt";
    NSString *str =[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
    NSArray *strArr=[str componentsSeparatedByString:@"\n"];
    self.proArr=[NSMutableArray array];
    //省市区数组
    for(NSString *temp in strArr){
        if (![temp hasPrefix:@" "]) {
            NSMutableDictionary *proDic=[NSMutableDictionary dictionary];
            [proDic setObject:temp forKey:@"proName"];
            NSMutableArray *cityArr=[NSMutableArray array];
            [proDic setObject:cityArr forKey:@"cityArr"];
            [self.proArr addObject:proDic];
        }else if ([temp hasPrefix:@"  "] && ![temp hasPrefix:@"    "])
        {
            NSMutableDictionary *cityDic=[NSMutableDictionary dictionary];
            [cityDic setValue:temp forKey:@"cityName"];
            NSMutableArray *zoneArr=[NSMutableArray array];
            [cityDic setValue:zoneArr forKey:@"zoneArr"];
            NSMutableDictionary *proDic=[self.proArr lastObject];
            NSMutableArray *cityArr=proDic[@"cityArr"];
            [cityArr addObject:cityDic];
        }else
        {
            NSMutableDictionary *proDic=[self.proArr lastObject];
            NSMutableArray *cityArr=proDic[@"cityArr"];
            NSMutableDictionary *cityDic=[cityArr lastObject];
            NSMutableArray *zoneArr=cityDic[@"zoneArr"];
            [zoneArr addObject:temp];
        }

    }
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor=[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"c8abca078d303faf9aa32506ef1927a2.jpg"]];
    self.view.alpha=0.5;
    self.navigationController.navigationBar.translucent=NO;

    //一个页面有三个tableView,进行相互联动,点击省显示相应的市,点击市显示相应的区
    //铺设三个tableView

    self.tableView1=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width / 3, self.view.frame.size.height-64) style:UITableViewStylePlain];
    [self.view addSubview:self.tableView1];
    [self.tableView1 release];
    self.tableView1.delegate=self;
    self.tableView1.dataSource=self;
    self.tableView1.separatorStyle = UITableViewCellSeparatorStyleNone;

    self.tableView2=[[UITableView alloc] initWithFrame:CGRectMake(self.view.frame.size.width / 3, 0, self.view.frame.size.width / 3, self.view.frame.size.height-64) style:UITableViewStylePlain];
    [self.view addSubview:self.tableView2];
    [self.tableView2 release];
    self.tableView2.delegate=self;
    self.tableView2.dataSource=self;
       self.tableView2.separatorStyle = UITableViewCellSeparatorStyleNone;

    self.tableView3=[[UITableView alloc] initWithFrame:CGRectMake(2*self.view.frame.size.width / 3, 0, self.view.frame.size.width/ 3, self.view.frame.size.height-64) style:UITableViewStylePlain];
    [self.view addSubview:self.tableView3];
    [self.tableView3 release];
    self.tableView3.delegate=self;
    self.tableView3.dataSource=self;
       self.tableView3.separatorStyle = UITableViewCellSeparatorStyleNone;

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (tableView== self.tableView1) {
        return self.proArr.count;
    }else if(tableView == self.tableView2)
        return self.cityArr.count;
    else{
        return self.zoneArr.count;
    }

}

//创建cell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView ==self.tableView1) {
    static NSString *[email protected]"reuse";
    UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:reuse];
    if (!cell) {
        cell =[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuse] autorelease];
    }
    NSMutableDictionary *proDic=self.proArr[indexPath.row];
    cell.textLabel.text=proDic[@"proName"];
    return cell;
    }else if(tableView ==self.tableView2){
        static NSString *[email protected]"cityResuse";
        UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:cityResuse];
        if (!cell) {
            cell =[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cityResuse] autorelease];
        }
        NSMutableDictionary *cityDic=self.cityArr[indexPath.row];
        cell.textLabel.text=cityDic[@"cityName"];
        return cell;

    }else
    {
        static NSString *[email protected]"zoneReuse";
        UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:zoneReuse];
        if (!cell) {
            cell =[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:zoneReuse] autorelease];
        }

        cell.textLabel.text=self.zoneArr[indexPath.row];
        return cell;

    }

}

//点击
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //判断当前哪一个tableView被点击
    if (tableView == self.tableView1) {
        //先找到当前点击的是哪一个省
        NSMutableDictionary *proDic=self.proArr[indexPath.row];
        //找到市数组
        self.cityArr=proDic[@"cityArr"];
        //刷新
        [self.tableView2 reloadData];
    }
    else if (tableView ==self.tableView2){
        NSMutableDictionary *cityDic=self.cityArr[indexPath.row];
        self.zoneArr=cityDic[@"zoneArr"];
        [self.tableView3 reloadData] ;

    }

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-06 07:31:34

iOS UI09_多种Tableview的相关文章

iOS中绑定tableview后,变量值消失的问题

好吧,标题就以最通俗的语句命名,估计百度收录的时候,大家查找的时候会更加的方便. iOS新手,这个问题着实调试了好长时间! 由于上手就开始做大的项目,也没时间从基础做起,相信大多数小公司的开发者都是这种模式.因此很多问题都产生自很基础的错误. 项目使用mvc结构,在异步读取完数据后,NSArray中model的数据就丢失了,专业点就是内存释放了,只剩下内存地址了. 可能大家的情况和我不同,所以解决方法也不一定相同. 项目服务端是asp.net webservice,使用AFNetworking读

iOS 两个tableview的 瀑布流

iOS 两个tableview的 瀑布流1. [代码]Objective-C     ////  DocViewController.m//  getrightbutton////  Created by 隋文涛 on 12-12-9.//  Copyright (c) 2012年 隋文涛. All rights reserved.// #import "DocViewController.h"#define heightofimage(image) image.size.height

iOS 为自定义tableView添加button点击事件后获取其序号

在自定义tableView中,为cell添加button点击事件后,如何获取其对应的序号? 1.创建tableView: 先创建一个成员变量: @interface MyCameraViewController ()<UITableViewDelegate,UITableViewDataSource> { UITableView *_tableView; }@end 在viewDidLoad中初始化 _tableView = [[UITableView alloc] initWithFrame

IOS开发系列--TableView、多个TableViewCell、自定义Cell、Cell上画画(故事板+代码方式),ios7tableview索引

在此之前,我们已经创建了一个通过简单的表视图应用程序并显示预定义的图像.在本教程中,我们将继续努力,使应用程序变得更好,: >不同的行显示不同的图像 - 上个教程,我们的所有行显示相同的缩略图.那么不同的食物显示不同的图片不是更好么? >自定义视图单元-我们将展示我们自己的视图来替代默认表单元格样式 显示不同缩略图 在我们更改代码之前,让我们回顾显示缩略图的代码. 最后,我们增加了一个行代码指示UITableView每一行显示"creme_brelee.jpg"这张图片.显

IOS开发之TableView、多个TableViewCell、自定义Cell、Cell上画画(故事板+代码方式)

最近要做一个项目,有个账户设置界面,看了微博.微信.QQ,他们的账号设置都比较原生态没做什么处理.春雨医生的账号不错,做了许多处理.不说废话直接上代码. 第一步: //UserTableViewCell.h这里定义第一种Cell #import <UIKit/UIKit.h> @interface UserTableViewCell : UITableViewCell @property (weak, nonatomic) IBOutlet UIImageView *userviewcelli

iOS UIKit:TableView之单元格配置(2)

Table View是UITableView类的实例对象,其是使用节(section)来描述信息的一种滚动列表.但与普通的表格不同,tableView只有一行,且只能在垂直方向进行滚动.tableView由多个section组成,而section又由行(row)组成,也可将行称为单元格(cell).Cell是UITableViewCell类的实例对象. 1 UITableViewCell Table View使用UITableViewCell对象来绘制可视化的row,从而用户看到的table v

iOS UI09_自定义cell

// // MyCell.h // UI09_自定义cell // // Created by dllo on 15/8/10. // Copyright (c) 2015年 zhozhicheng. All rights reserved. // #import <UIKit/UIKit.h> @interface MyCell : UITableViewCell #warning 现在要给自定义的cell加上四条属性,而且需要在外部进行赋值,所以在.h中写属性声明,而且这四个属性,他们的名

IOS开发中tableView显示列表内容数据(storyboard版)

这是第一次写博客这类东西,且同为菜鸟级自学IOS,若有哪些不正确的希望您指正,谢谢... 先写一个大家自学时都会用到的东西——列表展示,或许您不认为这是问题,那是因为您聪慧,刚学时倒是困扰到我了,特意写一下: 第一步:创建工程IOS-->single view application      ——> Product Name:tableViewDemo                    Language:Objective—C                    Devices:iPh

iOS UIKit:TableView之编辑模式(3)

一般table view有编辑模式和正常模式,当table view进入编辑模式时,会在row的左边显示编辑和重排控件,如图 42所示的编辑模式时的控件布局:左边的editing control有表 61的两种图标. 表 61 table view编辑控件 图标 描述 Deletion控件 Insertion控件 若table view在编辑模式时,用户点击编辑控件,那么table view会发送一系列消息给data source 和delegate对象.可以通过实现这些方法来修改table v