UITableView作为子视图?

时间:2010-08-24 11:27:45

标签: iphone uitableview subview addsubview

这可能吗?我只想在我当前的视图中找到一张小桌子...这就是我要做的事情:

.h文件

#import <UIKit/UIKit.h>


@interface IngredientsRootView : UIViewController <UITableViewDelegate, UITableViewDataSource> {
 UITableView *ingredientsTable;
}

@property (nonatomic, retain) UITableView *ingredientsTable;

@end

.m文件我有委托和数据源方法以及此代码:

ingredientsTable = [[UITableView alloc] initWithFrame:CGRectMake(10, 10, 300, 300) style:UITableViewStylePlain];
 [ingredientsTable setDelegate:self];
 [ingredientsTable setDataSource:self];
 [self.view addSubview:ingredientsTable];

该应用不会崩溃,但它不会显示表格。目前我只是按照以下方式设置了所有内容:

#pragma mark -
#pragma mark Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    return 10;
}


// the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    // Configure the cell...
 cell.textLabel.text = @"Hello";

    return cell;
}

我做错了什么?感谢

2 个答案:

答案 0 :(得分:3)

在将其添加为子视图后,尝试在表格视图上调用-reloadData

另外,视图是如何设置的?它是在XIB中创建还是通过-loadView

创建的

答案 1 :(得分:0)

您是否记得将[window addSubview:[IngredientsRootView view]];添加到您的应用代表?

顺便说一下,您可以从UITableViewController继承而不是从UIViewController继承,而无需添加代码即可获得所有功能。