2013-02-22 73 views
1

我想添加文本框到標題視圖。我無法弄清楚爲什麼我看不到我的文本框。當我使用標籤時,它完美地起作用。添加textview到tableviewheader

以下是代碼:

-(UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ 
     UIView *tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(40, 0, self.view.frame.size.width - 70, 30)]; 
    UITextField *sectionTitleTF1 = [[UITextField alloc] initWithFrame:CGRectMake(58, 0, 500, 30)]; 
    sectionTitleTF1.backgroundColor = [UIColor whiteColor]; 
    [sectionTitleTF1 becomeFirstResponder]; 
    [tableHeaderView addSubview:sectionTitleTF1]; 
return tableHeaderView; 

}

感謝

+0

很可能是你的rects爲sectionTitleTF1和/或tableHeaderView是錯誤的。 – user523234 2013-02-23 04:59:52

回答

0

試試這個,

You can adjust view, textfield frame based on your device ipad or iphone 




- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ 
return 30.0; 
} 

-(UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ 
UIView *tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(40, 0, self.view.frame.size.width - 70, 30)]; 
tableHeaderView.backgroundColor =[UIColor grayColor]; 
UITextField *sectionTitleTF1 = [[UITextField alloc] initWithFrame:CGRectMake(58, 0, 500, 30)]; 
sectionTitleTF1.backgroundColor = [UIColor whiteColor]; 
[sectionTitleTF1 setBackgroundColor:[UIColor whiteColor]]; 
[sectionTitleTF1 setFont:[UIFont boldSystemFontOfSize:15]]; 
[sectionTitleTF1 setBorderStyle:UITextBorderStyleLine]; 
[sectionTitleTF1 setTextAlignment:UITextAlignmentCenter]; 
[sectionTitleTF1 setKeyboardType:UIKeyboardTypeNumbersAndPunctuation]; 
[sectionTitleTF1 becomeFirstResponder]; 
[tableHeaderView addSubview:sectionTitleTF1]; 
return tableHeaderView; 
} 
0

你已經實現了數據源的這種方法嗎?如果您想要顯示節標題,這是必須的。 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ 
    return 30.0; 
} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

另外,如果你不知道,你可以返回UITextField,而不是直接將作爲一個子視圖。但是,您可能希望將其作爲子視圖,具體取決於您想要實現的目標。

編輯:數據源不授予

+0

是的,我確實添加了代表。它適用於將文本字段添加到同一個類中的單元格,但不適用於節標題。 – pa12 2013-02-23 00:24:31

+0

不只是設置數據源,但您必須在(已編輯)答案中實現上述方法。您必須設置標題的高度。 – 7usam 2013-02-23 00:30:31

+0

@din將文本框添加到單元格中時,它與標題中的不同,對於標題,您必須指定高度,否則它將爲0(並且您的字段不會顯示) – 7usam 2013-02-23 00:56:34

0

只需添加這 sectionTitleTF1.borderStyle = UITextBorderStyleRoundedRect; 然後你會看到它