Ich habe eine Suchleiste oben auf einer Tabellenansicht wie so mit Auto-Layout einrichten:Auto-Layout funktioniert nicht?
_searchBar.translatesAutoresizingMaskIntoConstraints = NO;
_tableView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_searchBar]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_searchBar)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_tableView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tableView)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_searchBar][_tableView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_searchBar, _tableView)]];
Alles sieht gut aus, wenn ich es laufen. Aber wenn ich _searchBar.showsScopeBar = YES;
mache, bevor ich beginne, die Suchleiste zu bearbeiten, werden die Suchleiste und die Tabellenansicht nicht automatisch skaliert. Auch wenn ich [_searchBar sizeToFit]
mache, wird die Tabellenansicht nicht verkleinert und nach unten verschoben. Warum??
Hinweis: Ich setze die Suchleiste nicht als Kopfzeile der Tabellenansicht ein; es ist nur eine Elternansicht und zwei Unteransichten. Hinweis 2: Ich habe die intrinsicContentSize
von _searchBar
vor und nach dem Anruf _searchBar.showsScopeBar = YES;
überprüft und die Größe ändert sich tatsächlich.
Siehe So dies ein Apple-Bug ist, nicht wahr? Übrigens, diese 'sizeToFits' werden nicht benötigt. – fumoboy007
@ fumoboy007 In Bezug auf diese "sizeToFit" -Referenzen sind Sie richtig, dass diese nicht benötigt werden und ich sie entfernt habe. Vielen Dank. – Rob