UITableView

原创 2015年11月19日 16:46:46

用UITableView做一个有刷新和清除的简单视图

—这是我的第一个博客–

代码如下:

#import "AppDelegate.h"
#import "MainViewController.h"
#import "PhotoAlbumViewController.h"
#import "MusicViewController.h"
#import "SetViewController.h"
@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //窗口
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];


    //标签控制器
    MainViewController *mainVC = [[MainViewController alloc] init];
    UINavigationController *mainNC = [[UINavigationController alloc] initWithRootViewController:mainVC];
    PhotoAlbumViewController *photoAlbumVC = [[PhotoAlbumViewController alloc] init];
    UINavigationController *photoAlbumNC = [[UINavigationController alloc] initWithRootViewController:photoAlbumVC];
    MusicViewController *musicVC = [[MusicViewController alloc] init];
    UINavigationController *musicNC = [[UINavigationController alloc] initWithRootViewController:musicVC];
    SetViewController *setVC = [[SetViewController alloc] init];
    UINavigationController *setNC = [[UINavigationController alloc] initWithRootViewController:setVC];
    UITabBarController *tabBarNC = [[UITabBarController alloc] init];
    tabBarNC.viewControllers = @[mainNC,photoAlbumNC,musicNC,setNC];
    tabBarNC.tabBar.barTintColor = [UIColor whiteColor];
    tabBarNC.tabBar.tintColor = [UIColor blackColor];
    self.window.rootViewController = tabBarNC;




    return YES;
}
#import "MainViewController.h"

@interface MainViewController () <UITableViewDataSource>
@property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) NSString *string;
@property (nonatomic, strong) NSMutableArray *stringArray;
@end

@implementation MainViewController
- (instancetype)init
{
    self = [super init];
    if (self) {
        self.title = @"主页";
        UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:self.title image:[UIImage imageNamed:@"tab1"] tag:200];
        self.tabBarItem = item;
    }
    return self;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    //刷新按钮
    UIBarButtonItem *refreshItem = [[UIBarButtonItem alloc] initWithTitle:@"刷新" style:UIBarButtonItemStylePlain target:self action:@selector(refreshItemTaped:)];
    self.navigationItem.leftBarButtonItem = refreshItem;
    //清除按钮
    UIBarButtonItem *clearItem = [[UIBarButtonItem alloc] initWithTitle:@"清除" style:UIBarButtonItemStylePlain target:self action:@selector(clearItemTaped:)];
    self.navigationItem.rightBarButtonItem = clearItem;


    //表格
    _tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];

    //数据源协议
    _tableView.dataSource = self;


    [self.view addSubview:_tableView];


    //初始化
    _stringArray = [NSMutableArray array];


}

//指定分区有多少行    required
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return _stringArray.count;
}


//配置每一行怎样显示        required
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];

    cell.detailTextLabel.text = _stringArray[indexPath.row];


    NSString *indexString = [NSString stringWithFormat:@"index%ld",indexPath.row];
    cell.textLabel.text = indexString;


    if (indexPath.row % 2 == 0) {
        cell.backgroundColor = [UIColor lightGrayColor];
    }

    return cell;
}





- (void)refreshItemTaped:(UIBarButtonItem *)sender{
    //模拟网络请求
    [self performSelector:@selector(loadDataSource) withObject:self afterDelay:1];
}


- (void)clearItemTaped:(UIBarButtonItem *)sender{
    _stringArray = [[NSMutableArray alloc] init];
    [_tableView reloadData];
}

- (void)loadDataSource{
    //获取当前时间
    NSDate *date = [[NSDate alloc] init];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    _string = [formatter stringFromDate:date];
    [_stringArray addObject:_string];
    [_tableView reloadData];  
}
@end

运行之后如图:


快捷键

  • 加粗 Ctrl + B
  • 斜体 Ctrl + I
  • 引用 Ctrl + Q
  • 插入链接 Ctrl + L
  • 插入代码 Ctrl + K
  • 插入图片 Ctrl + G
  • 提升标题 Ctrl + H
  • 有序列表 Ctrl + O
  • 无序列表 Ctrl + U
  • 横线 Ctrl + R
  • 撤销 Ctrl + Z
  • 重做 Ctrl + Y
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

UITableView

  • 2017年05月19日 15:51
  • 239KB
  • 下载

IOS UITableView及索引条源码

  • 2017年09月14日 15:34
  • 2.25MB
  • 下载

一种让UITableView的数据从下往上增长的方式

遇到问题 一般来说tableview的数据都是从上往下增长,如下图所示(先是aaa出现在表格列表的最顶部,然后bbb出现在aaa的下面,以此类推) 但是如果我们想反向这个过程该怎么...

UITableView单选

  • 2015年08月25日 09:02
  • 61KB
  • 下载

UITableView教材

  • 2012年04月19日 12:43
  • 928KB
  • 下载

UITableView出现上移/下移64的问题 解析

很多人在开发中会遇到, 在一个带navigation的ViewController上添加tableView 会出现 一些上移/下移64的:然后打印tableView的frame 发现 没问题啊, 和屏...

uitableview

  • 2013年04月01日 14:11
  • 67KB
  • 下载

UITableView的封装

  • 2015年04月20日 20:00
  • 50KB
  • 下载

iOS UITableView中关于cell里的按钮被点击时如何确定是哪一个section

在section=10;row=1;的UITableView中,每一个cell都带有一个按钮,例如如下的图片一样 每一个cell中都有一个“进入店铺的按钮”,但是如果我点击相应的cell要进入对...

UITableView基本用法大全

  • 2015年08月31日 22:31
  • 58KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITableView
举报原因:
原因补充:

(最多只允许输入30个字)