该线程上的一些提示帮助我创建了这个。我将提供一些更完整的代码文件以帮助其他人:
步骤 1. 将 UITableView 拖到 Storyboard 或 XIB 中的 View Controller 上。在我的示例中,我使用的是故事板。
第 2 步:打开您的 ViewController(在我的情况下它只是 DefaultViewController)并为 UITableView 添加两个委托: UITableViewDelegate和UITableViewDataSource。还为人口和 UITableView IBOutlet 添加一个简单的数据源。
DefaultViewController.h
#import <UIKit/UIKit.h>
@interface DetailViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@property (strong, nonatomic) NSMutableArray *newsArray;
@end
第 3 步:打开您的实现文件 (DefaultViewController.m) 并添加以下内容:
#import "DetailViewController.h"
@interface DetailViewController ()
- (void)configureView;
@end
@implementation DetailViewController
@synthesize newsArray;
@synthesize tableView;
#pragma mark - Managing the detail item
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self configureView];
}
- (void)configureView
{
// Update the user interface for the detail item.
self.newsArray = [[NSMutableArray alloc] initWithObjects:@"Hello World",@"Goodbye World", nil];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// typically you need know which item the user has selected.
// this method allows you to keep track of the selection
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
// This will tell your UITableView how many rows you wish to have in each section.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.newsArray count];
}
// This will tell your UITableView what data to put in which cells in your table.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifer = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifer];
// Using a cell identifier will allow your app to reuse cells as they come and go from the screen.
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifer];
}
// Deciding which data to put into this particular cell.
// If it the first row, the data input will be "Data1" from the array.
NSUInteger row = [indexPath row];
cell.textLabel.text = [self.newsArray objectAtIndex:row];
return cell;
}
@end
第 4 步:转到您的 Storyboard 或 XIB 并选择您的 UITableView 并将数据源和委托插座拖到您的DefaultViewController上以将它们连接起来。此外,您还需要将UITableView的引用插座连接到您在头文件中创建的IBOutlet tableView对象。
完成后,您应该能够运行它并且示例数据将就位。
我希望这与该线程上的其他技巧一起可以帮助其他人在 ViewController 上从头开始设置 UITableView。