【代码笔记】iOS-scrollerView里多个tableView加搜索框

来源:互联网 发布:gre知乎 编辑:程序博客网 时间:2024/06/01 20:45

一,效果图。

二,工程图。

三,代码。

RootViewController.h

复制代码
#import <UIKit/UIKit.h>#import "customCell.h"@interface RootViewController : UIViewController<UISearchBarDelegate,UITableViewDelegate,UITableViewDataSource,UIScrollViewDelegate,UISearchDisplayDelegate>{    customCell * cell;    NSMutableArray * dataArray;    NSMutableArray * imageArray;    UIScrollView * scrollerView;    UITableView * tableOneView;    UITableView * tableTowView;    UITableView * tableThreeView;    UITableView * tableFourView;    UISearchDisplayController * scrollerControl;}@end
复制代码

 

RootViewController.m

复制代码
#import "RootViewController.h"#import "customCell.h"@interface RootViewController ()@end@implementation RootViewController- (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.        //初始化背景图    [self initBackgroundView];}-(void)initBackgroundView{    self.navigationController.navigationBarHidden=YES;        dataArray = [[NSMutableArray alloc]initWithObjects:@"热门微博",@"热门话题",@"随便看看",@"二维码",                 @"周边的微博",@"周边的人",@"微吧",@"微博会员",                 @"新浪早晚报",@"微公益",@"微博应用",@"游戏",                 @"微刊",@"手机微博",@"微群",@"微相册",                 @"名人堂",@"人气草根",@"微博精选",@"猜你喜欢",                 @"手机新浪网",@"掌中新浪",@"天气通",@"微漫画",                 @"聊天",@"看点",@"微盘",@"微收藏",                 @"图钉",@"限免换享",@"淘身边",@"微美食",                 @"新浪拍客",@"博客",@"充话费",@"MOMO岛",                 @"网址导航",@"新浪视野",@"微数据",@"新浪彩票",nil];    imageArray = [[NSMutableArray alloc] initWithObjects:@"0.png",@"1.png",@"2.png",@"3.png",@"4.png",@"5.png",@"6.png",@"7.png",@"8.png",@"9.png",@"10.png",@"11.png",@"12.png",@"13.png",@"14.png",@"15.png",@"16.png",@"17.png",@"18.png",@"19.png",@"20.png",@"21.png",@"22.png",@"23.png",@"24.png",@"25.png",@"26.png",@"27.png",@"28.png",@"29.png",@"30.png",@"31.png",@"32.png",@"33.png",@"34.png",@"35.png",@"36.png",@"37.png",@"38.png",@"39.png", nil];        //scrollerView    scrollerView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460-44-44)];    scrollerView.contentSize = CGSizeMake(320*4, 460-44-44);    scrollerView.bounces = YES;    scrollerView.tag = 101;    scrollerView.showsHorizontalScrollIndicator = NO;    scrollerView.pagingEnabled = YES;    scrollerView.delegate = self;    [self.view addSubview:scrollerView];        //tableOne    tableOneView = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, 320, 460-44-44-44) style:UITableViewStylePlain];    tableOneView.delegate = self;    tableOneView.dataSource = self;    tableOneView.bounces=NO;    [tableOneView setSeparatorColor:[UIColor clearColor]];        //tableTwo    tableTowView = [[UITableView alloc] initWithFrame:CGRectMake(320, 44, 320, 460-44-44-44) style:UITableViewStylePlain];    tableTowView.delegate = self;    tableTowView.dataSource = self;    tableTowView.bounces=NO;    [tableTowView setSeparatorColor:[UIColor clearColor]];        //tableThree    tableThreeView = [[UITableView alloc]initWithFrame:CGRectMake(320*2, 44, 320, 460-44-44-44) style:UITableViewStylePlain];    tableThreeView.delegate = self;    tableThreeView.dataSource = self;    tableThreeView.bounces=NO;    [tableThreeView setSeparatorColor:[UIColor clearColor]];        //tableFour    tableFourView = [[UITableView alloc] initWithFrame:CGRectMake(320*3, 44, 320, 460-44-44-44) style:UITableViewStylePlain];    tableFourView.delegate = self;    tableFourView.dataSource = self;    tableFourView.bounces=NO;    [tableFourView setSeparatorColor:[UIColor clearColor]];        [scrollerView addSubview:tableFourView];    [scrollerView addSubview:tableThreeView];    [scrollerView addSubview:tableTowView];    [scrollerView addSubview:tableOneView];            //searchbar    UISearchBar * searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];    searchBar.placeholder = @"搜索";    searchBar.delegate = self;    searchBar.showsCancelButton = YES;    [self.view addSubview:searchBar];            //searchcontroller    scrollerControl = [[UISearchDisplayController alloc]initWithSearchBar:searchBar contentsController:self];    scrollerControl.delegate = self;    scrollerControl.searchResultsDataSource = self;    scrollerControl.searchResultsDelegate = self;}#pragma -mark -UITableViewDelegate-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    return 3;}-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{    return 100;}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    static int i = 0;    static int j = 0;    NSString * strID = @"ID";    cell = [tableView dequeueReusableCellWithIdentifier:strID];    if (cell == nil) {        cell = [[customCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:strID];        cell.selectionStyle = UITableViewCellSelectionStyleNone;                cell.button1.tag = i++;        cell.button2.tag = i++;        cell.button3.tag = i++;        cell.button4.tag = i++;        cell.label1.tag = j++;        cell.label2.tag = j++;        cell.label3.tag = j++;        cell.label4.tag = j++;                if (cell.label1.tag >= 40 || cell.button1.tag >= 40) {            return cell;        }    }        [cell.label1 setText:[NSString stringWithFormat:@"%@",[dataArray objectAtIndex:cell.label1.tag]]];    [cell.label2 setText:[NSString stringWithFormat:@"%@",[dataArray  objectAtIndex:cell.label2.tag]]];    [cell.label3 setText:[NSString stringWithFormat:@"%@",[dataArray objectAtIndex:cell.label3.tag]]];    [cell.label4 setText:[NSString stringWithFormat:@"%@",[dataArray objectAtIndex:cell.label4.tag]]];        [cell.button1 setImage:[UIImage imageNamed:[imageArray objectAtIndex:cell.button1.tag]] forState:UIControlStateNormal];    [cell.button2 setImage:[UIImage imageNamed:[imageArray objectAtIndex:cell.button2.tag]] forState:UIControlStateNormal];    [cell.button3 setImage:[UIImage imageNamed:[imageArray objectAtIndex:cell.button3.tag]] forState:UIControlStateNormal];    [cell.button4 setImage:[UIImage imageNamed:[imageArray objectAtIndex:cell.button4.tag]] forState:UIControlStateNormal];        [cell.button1 addTarget:self action:@selector(doClickButtonAction:) forControlEvents:UIControlEventTouchUpInside];    [cell.button2 addTarget:self action:@selector(doClickButtonAction:) forControlEvents:UIControlEventTouchUpInside];    [cell.button3 addTarget:self action:@selector(doClickButtonAction:) forControlEvents:UIControlEventTouchUpInside];    [cell.button4 addTarget:self action:@selector(doClickButtonAction:) forControlEvents:UIControlEventTouchUpInside];    return cell;}-(void)doClickButtonAction:(UIButton *)btn{    NSLog(@"--btn.tag--%i",btn.tag);}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}
复制代码

 

customCell.h

复制代码
#import <UIKit/UIKit.h>@interface customCell : UITableViewCell{    UIButton * button1;    UIButton * button2;    UIButton * button3;    UIButton * button4;    UILabel * label1;    UILabel * label2;    UILabel * label3;    UILabel * label4;}@property (nonatomic,retain)UIButton * button1;@property (nonatomic,retain)UIButton * button2;@property (nonatomic,retain)UIButton * button3;@property (nonatomic,retain)UIButton * button4;@property (nonatomic,retain)UILabel * label1;@property (nonatomic,retain)UILabel * label2;@property (nonatomic,retain)UILabel * label3;@property (nonatomic,retain)UILabel * label4;@end
复制代码

 

customCell.m

复制代码
#import "customCell.h"@implementation customCell@synthesize button1;@synthesize button2;@synthesize button3;@synthesize button4;@synthesize label1;@synthesize label2;@synthesize label3;@synthesize label4;- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];    if (self) {        // Initialization code                button1 = [UIButton buttonWithType:UIButtonTypeCustom];        button1.frame = CGRectMake(5, 10, 70, 60);                button2 = [UIButton buttonWithType:UIButtonTypeCustom];        button2.frame = CGRectMake(85, 10, 70, 60);                button3 = [UIButton buttonWithType:UIButtonTypeCustom];        button3.frame = CGRectMake(165, 10, 70, 60);                button4 = [UIButton buttonWithType:UIButtonTypeCustom];        button4.frame = CGRectMake(245, 10, 70, 60);                [self addSubview:button1];        [self addSubview:button2];        [self addSubview:button3];        [self addSubview:button4];                label1 = [[UILabel alloc] initWithFrame:CGRectMake(5, 75, 70, 20)];        label1.font = [UIFont systemFontOfSize:12];        label1.textAlignment = NSTextAlignmentCenter;                label2 = [[UILabel alloc] initWithFrame:CGRectMake(85, 75, 70, 20)];        label2.font = [UIFont systemFontOfSize:12];        label2.textAlignment = NSTextAlignmentCenter;                label3 = [[UILabel alloc] initWithFrame:CGRectMake(165, 75, 70, 20)];        label3.font = [UIFont systemFontOfSize:12];        label3.textAlignment = NSTextAlignmentCenter;                label4 = [[UILabel alloc] initWithFrame:CGRectMake(245, 75, 70, 20)];        label4.font = [UIFont systemFontOfSize:12];        label4.textAlignment = NSTextAlignmentCenter;                [self addSubview:label1];        [self addSubview:label2];        [self addSubview:label3];        [self addSubview:label4];    }    return self;}- (void)awakeFromNib{    // Initialization code}- (void)setSelected:(BOOL)selected animated:(BOOL)animated{    [super setSelected:selected animated:animated];    // Configure the view for the selected state}@end
复制代码

 

0 0
原创粉丝点击