2016-03-15 67 views
0

我有一個靜態單元存儲用戶可以輸入字段的信息形式。其中一個靜態單元用於附件。我想在用戶從UIImagePickerController中選擇一個圖像時將一些UIView附加到這個單元格中。我已經處理了UIImagePickerController部分。我有找到reuseIdentifier細胞:如何在UITableViewController的靜態單元中添加UIView?

UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"AttachmentCell"]; 

我試圖追加在我的手機的看法:

CGRect attachmentFrame = CGRectMake(0, 0, 50, 50); 

UIView * attachmentRow = [[UIView alloc]initWithFrame: attachmentFrame]; 

CGFloat ratio = 50/image.size.width; 

CGRect imageFrame = CGRectMake(10, 0, image.size.width * ratio, 50); 
CGRect imageNameLabelFrame = CGRectMake(10 + imageFrame.size.width + 10, 22, 300, 6); 

UIImageView *imageView = [[UIImageView alloc]initWithFrame: imageFrame]; 
imageView.image = image; 

UILabel *imageNameLabel = [[UILabel alloc]initWithFrame:imageNameLabelFrame]; 
imageNameLabel.text = [NSString stringWithFormat:@"Attachment %d", attachmentCounter++]; 

[attachmentRow addSubview: imageView]; 
[attachmentRow addSubview: imageNameLabel]; 

attachmentRow.backgroundColor = [UIColor lightGrayColor]; 

[cell.contentView addSubview: attachmentRow]; 

NSLog(@"Row appended"); 

注意,上面的代碼只是爲了嘗試在靜態小區追加一個單一視圖但似乎失敗了。添加視圖後,靜態單元格中沒有顯示任何內容。我記錄了我的附件數據可以成功引入此頁面。

+0

你的行高是多少? –

+0

我在故事板中將其設置爲300 –

+0

您在哪裏創建單元格? – JomanJi

回答

1

也許這只是問題的措辭,但似乎你做什麼後用戶選擇了圖像,是你創建了一個新的單元格。

這條線:

UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"AttachmentCell"]; 

創建一個全新的電池,和你的表視圖沒有辦法知道。

你應該寧可做的是重新載入你的表視圖,用戶已經選擇在

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

圖像和設置之後爲了重新加載,你可以使用的UITableViewreloadData方法,將刷新數據所有數據或- (void)reloadRowsAtIndexPaths:(NSArray<NSIndexPath *> *) withRowAnimation:(UITableViewRowAnimation)animation將僅重新加載指定索引處的單元格。

+0

這似乎是重裝問題。非常感謝。 –

1

首先加入這一行

[cell.contentView addSubview: attachmentRow]; 

然後

[attachmentRow addSubview: imageView]; 
[attachmentRow addSubview: imageNameLabel]; 

可能它會幫助

+0

我剛剛嘗試添加附件行,但它不起作用 –

+0

給出了它的視圖的邊框寬度,它在哪裏製作視圖.... – 2016-03-15 10:23:13

+0

但我已將背景設置爲黑色...... –

0

您將不得不使用自定義單元格而不是使用默認tableview單元格。 首先你需要創建一個帶有標識符的文件。

相關問題