由于某种原因,无法选择我的节标题中的搜索字段以调出键盘。此外,我的表格视图单元格上没有任何内容,我不知道为什么。我的代码如下:
- (void)viewDidLoad {
[super viewDidLoad];
self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
self.tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
self.tableView.delegate = self;
[self.view addSubview:self.tableView];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[self.searchField resignFirstResponder];
return NO;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return 8;
}
- (CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 60;
}
- (UIView *)tableView:(UITableView *)tableView
viewForHeaderInSection:(NSInteger)section {
UIView *customHeader = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
// Add search field
UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(40, 20, 250, 50)];
field.borderStyle = UITextBorderStyleRoundedRect;
field.delegate = self;
[customHeader addSubview:field];
return customHeader;
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cellIdentifier;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
NSLog(@"i am here");
UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(40, 20, 250, 50)];
field.borderStyle = UITextBorderStyleRoundedRect;
field.delegate = self;
[cell.contentView addSubview:field];
}
return cell;
}
答案 0 :(得分:1)
我认为它不起作用,因为您没有为该部分指定标题高度。你应该有像
这样的东西- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 50.0;
}
如果您确定有多个部分,则仅针对所需部分执行此操作。
答案 1 :(得分:0)
为什么不使用nib文件或故事板?根据apple文档,如果你无法从storyboard或nib文件加载uiviewcontroller视图,你应该覆盖
-loadView
设置视图层次结构的方法。 Read view management section这可能会解决您的搜索字段问题。 解决第二个问题设置cellidentifier
NSString *cellIdentifier = @"Your identifier";
我不认为它可以是零。 我希望,我的回答会有所帮助。如果没有,请发表评论。