我有一个iPad应用程序没有显示以编程方式创建的表。错误在哪里或我的代码中缺少什么?
ViewController.h
#import <UIKit/UIKit.h>
@interface deleteViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>{
UITableView *listTable;
}
@property (nonatomic, retain) UITableView *listTable;
//@property (nonatomic, retain) IBOutlet UITableView *listTable;
@end
ViewController.m
#import "deleteViewController.h"
@implementation deleteViewController
@synthesize listTable;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
listTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 200, 200) style:UITableViewStylePlain]; //changed THANKS!!,
listTable.delegate = self;
listTable.dataSource = self;
//listTable.allowsSelection = TRUE;
[listTable reloadData];
//listTable.backgroundColor = [UIColor clearColor];
[listTable setSeparatorStyle:UITableViewCellSeparatorStyleNone];
[self.view addSubview:listTable];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 4;
}
- (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 = [yourarray objectAtIndex:indexPath.row];
return cell;
}
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation (UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
@end
表格是否必须显示甚至没有像数组一样的数据显示?我用coredata中的数据对此进行了测试并没有显示出来,所以我首先进行了这个简单的测试以便以编程方式显示这个数据。
答案 0 :(得分:1)
最后跟随apple documentation duhh
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)
style:UITableViewStylePlain];
tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
tableView.delegate = self;
tableView.dataSource = self;
[tableView reloadData];
//self.view = tableView;
[self.view addSubview: tableView];
[tableView release];
它显示罚款!!,;)
答案 1 :(得分:0)
在添加子视图后,您是否尝试在[[self view] setNeedsDisplay]
的末尾添加viewDidLoad
?
答案 2 :(得分:0)
你的画面看起来很遥远。您正在将该视图作为子视图添加到self.view
尝试仅使用这些维度,或者只是CGRectMake(0,0,200,200)
来查看是否显示了某些内容。如果确实如此,那么你已经证明当前的尺寸使它超出界限并且它被修剪。