我不确定如何处理这个问题。我正在将一个单独的 TableView Controller nib 文件加载到我的 View Controller 。我如何按照我想要的方式定位它?另外,下面的查询是我所需要的,还是我遗漏了什么?它一直在我身上崩溃。
- (void)viewDidLoad
{
[super viewDidLoad];
HSTableViewController *tableViews = [[HSTableViewController alloc]initWithNibName:@"HSTableViewController" bundle:nil];
[self addChildViewController:tableViews];
tableViews.view.frame = CGRectMake(0, 0, 100, 100);
//tableViews.view.frame = self.view.bounds;
[self.view addSubview:tableViews.view];
[tableViews didMoveToParentViewController:self];
最佳答案
要在代码中将 TableView 添加到 View Controller ,其中 VC 将充当数据源和委托(delegate),您可以执行以下操作。
- (void)viewDidLoad
{
[super viewDidLoad];
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds];
tableView.delegate = self;
tableView.dataSource = self;
[self.view addSubview:tableView];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellID = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
}
cell.textLabel.text = @"Hello World";
return cell;
}
然后在您的 .H 文件中,您需要通知程序您将同时充当委托(delegate)和数据源
@interface NSSViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
根据我从您的问题中收集到的信息,这应该可以让您到达需要去的地方。如果您需要进一步的帮助,我会进行相应的编辑。
关于ios - 尝试在 UIView 中添加 Tableview。我在这里做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18222043/