2016-04-24 7 views
2

Ich habe eine UITableView, die auf meinem Storyboard ist. Ich möchte den y-Wert von es in der ViewDidLoad programmgesteuert basierend auf anderen Informationen anpassen. Ich kann es nicht verstehen. Ich habe das Gefühl, dass mir etwas ganz Einfaches fehlt. Ich habe alle folgenden versucht:Adjust y Wert von UITableView auf Storyboard programmgesteuert

CGRect myFrame = tableView.frame; 
[self->tableView removeFromSuperview]; 
myFrame.origin.y = myLabel.frame.origin.y+21; 
tableView.frame = myFrame; 
[self.view addSubview:tableView]; 

Und:

tableView.frame = CGRectMake(tableView.frame.origin.x, myLabel.frame.origin.y+21, tableView.frame.size.width, tableView.frame.size.height); 

Und:

[tableView setFrame:CGRectMake(tableView.frame.origin.x, myLabel.frame.origin.y+21, tableView.frame.size.width, tableView.frame.size.height)]; 

Und schließlich:

CGRect myFrame = tableView.frame; 
myFrame.origin.y = myLabel.frame.origin.y + 21; 
tableView.frame = myFrame; 

Ich habe diese Code-Schnipsel gefunden von anderen Stapelfragen, die min e. Keiner von ihnen hat für mich gearbeitet. Was mache ich falsch? Jede Hilfe würde sehr geschätzt werden!

+0

warum ist es so kompliziert? Warum entfernst du FromSuperview? Haben Sie eine Auto-Layout-Idee in Betracht gezogen? – heximal

+0

Ich versuche nur mehrere Möglichkeiten, es zu tun. Alle diese Fragen hatten unterschiedliche Fragen. Wie Sie sehen können, hat keiner von ihnen @heximal gearbeitet. Wenn Sie wissen, wie Sie das Problem lösen, können Sie eine Antwort schreiben? – John55

+0

Verwenden Sie automatisches Layout? Wenn ja, welche Einschränkungen haben Sie für Ihr TableView festgelegt? – beyowulf

Antwort

0

Ich glaube, Sie setzen nicht Autoresizingmask

Verwenden Sie den folgenden Code

self.tableView.translatesAutoresizingMaskIntoConstraints = YES 
Verwandte Themen