2012-04-09 7 views
1

Ich versuche, einen ViewController zu meiner TableView-Zelle hinzuzufügen, es wird jedoch beim Testen nicht angezeigt.ViewController als Unteransicht in einer UITableViewCell hinzufügen - Wird nicht angezeigt

PhotoLocation ist eine UIViewController-Unterklasse. Ich habe einen View-Controller auf dem StoryBoard mit einer Reihe von UILabels, UITextFields, UISwitch usw. konfiguriert. PhotoLocation ist diesem StoryBoard View-Controller zugeordnet, und sein Bezeichner ist PhotoLocation.

In einem separaten Controller - UITableViewController, habe ich eine funktionierende TableView mit Zellen, die mit verschiedenen Informationen füllen, ich versuche, die PhotoLocation VC als Unteransicht jeder Zelle hinzuzufügen. (Hinweis: PhotoLocation ist ein Freiform-VC, das die Größe 210 x 100 hat).

In meinem cellForRowAtIndexPath Methode mache ich folgendes:

// snip code above which sets up the cell and performs various other things 

PhotoLocation *photoLocation_ = [self.storyboard instantiateViewControllerWithIdentifier:@"PhotoLocation"]; 
[photoLocation_.view setFrame:CGRectMake(115, 0, 210, 109)]; 
[cell.contentView addSubview:photoLocation_.view]; 

return cell; 

Wenn ich die app die subview laufen zeigt nicht in den Zellen auf. Gibt es etwas hier fehlt mir?

Antwort

2

Wenn ich Sie richtig verstehe, versuchen Sie, eine NIB-Datei zu erstellen (Datei -> Neue Datei -> Benutzeroberfläche -> Ansicht). Löschen Sie die "Ansicht" und ziehen Sie eine Tabellenansichtszelle heraus. Legen Sie es so aus, wie Sie es in Ihrem Beitrag beschrieben haben. In Ihrem Tableviewcontroller tut:

if (cell == nil) { 
    [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil]; 
    cell = tvCell; 
    self.tvCell = nil; 
} 

Der Grund dafür ist, Sie nicht 2 „Viewcontrollers“ auf dem Bildschirm zur gleichen Zeit mit Ausnahme des Controller von Controllern (Tab Bar, Navigation, Splitview) haben können. Sie versuchen gerade, einen View-Controller in einen anderen View-Controller zu versetzen.

+0

Das Austauschen und Verwenden einer Feder machte den Trick, danke. Beachten Sie jedoch, dass ich das Laden eines VC als Unteransicht als funktionierende Zelle erhalten habe. Ich habe es in die Zelle geladen, aber nach der Auswahl von irgendetwas in dieser Zelle bekam ich einen Laufzeitfehler (schlechter Zugang, glaube ich, dass es war). Egal, die Feder ist der Weg zu gehen, nochmals vielen Dank! – ElasticThoughts

0

Haben Sie das versucht?

PhotoLocation *photoLocation_ = [self.storyboardinstantiateViewControllerWithIdentifier:@"PhotoLocation"]; 

[photoLocation_.view setFrame:CGRectMake(115, 0, 210, 109)]; 

[cell addSubview:photoLocation_.view]; 

return cell;