使用storyboard+继承UITableViewController创建TableView项目

本文将介绍如何使用storyboard+继承UITableViewController的方式创建一个最简单的TableView项目。

##第一步 创建项目

  • 首先在Xcode中创建一个Empty Project
  • 在项目中创建一个名为main.storyboard的storyboard文件。
  • 对项目进行设置,把Main Interface设置为刚才创建的main.storyboard。

第二步 对AppDelegate进行设置

把AppDelegate.m中的 application:didFinishLaunchingWithOptions:方法修改为:

//AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    return YES;
}

##第三步 创建TableViewController子类

  • 在项目中创建一个class,名为MyTableViewController, 该类继承了UITableViewController类。
  • 在viewDidload方法中初始化数据源数据。
  • 实现两个必要的代理方法,以实现数据展示。 具体代码如下:
//MyTableViewController.h
#import <UIKit/UIKit.h>

@interface MyTableViewController : UITableViewController

@end


//MyTableViewController.m
#import "MyTableViewController.h"

@interface MyTableViewController ()
@property(nonatomic, strong) NSArray *dataSourceArray;
@end

@implementation MyTableViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    //初始化数据源数组
    self.dataSourceArray = @[@"China", @"Unit Kingdom", @"America", @"Spain", @"Scoland", @"Canada", @"Korea", @"Japan"];
}

//每个section有多少个row
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.dataSourceArray.count;
}

//设置每个Cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"MyFirstCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    
    cell.textLabel.text = [self.dataSourceArray objectAtIndex:indexPath.row];
    
    return cell;
}
@end

第四步 绘制UI

  • 在storyboard中创建一个TableViewController。
  • 在storyboard中设置该TableViewController关联的class是MyTableViewController。
  • 在storyboard中设置该Cell的identifier为MyFirstCell。

转载于:https://my.oschina.net/isingular/blog/616689

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现下拉切换界面: 1.在Storyboard创建两个ViewController,分别是第一个界面和第二个界面,并且为第一个界面添加一个TableView。 2.在第一个界面的TableView的ViewController创建一个IBOutlet,用于控制TableView的下拉事件。 3.在第一个界面的TableView的ViewController创建一个IBAction,用于控制界面的切换事件。 4.在第二个界面的ViewController创建一个IBAction,用于控制界面的返回事件。 5.在第一个界面的TableView的ViewController中实现下拉事件,可以通过如下代码实现: ``` @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() //添加刷新控件 let refreshControl = UIRefreshControl() refreshControl.addTarget(self, action: #selector(refreshData), for: .valueChanged) self.tableView.refreshControl = refreshControl } @objc func refreshData() { //刷新数据 self.tableView.reloadData() //停止刷新 self.tableView.refreshControl?.endRefreshing() } ``` 6.在第一个界面的TableView的ViewController中实现界面切换事件,可以通过如下代码实现: ``` @IBAction func switchToSecondVC(_ sender: Any) { let secondVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SecondVC") as! SecondViewController self.present(secondVC, animated: true, completion: nil) } ``` 7.在第二个界面的ViewController中实现返回事件,可以通过如下代码实现: ``` @IBAction func backToFirstVC(_ sender: Any) { self.dismiss(animated: true, completion: nil) } ``` 通过以上步骤,就可以实现下拉切换界面的效果了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值