Ich baue eine App für das iPhone und iPad. Die Bildgrößen müssen komplett anders sein (hat nicht das gleiche Verhältnis). Wie kann ich diese Situation erreichen? Kann ich das in der XIB-Datei machen oder muss ich das mit Code erreichen? Ich möchte nur eine xib-Datei verwenden, das ist es.iOS Auto-Layout-Einschränkungen: Wie haben Sie zwei völlig unterschiedliche Bilder für iPhone und iPad?
Antwort
Sie können eine XIB-Datei verwenden und die entsprechenden Einschränkungen mit Ihrem Code verknüpfen (ctrl + drag
die Einschränkungen aus der XIB-Datei in Ihre SWIFT- oder Ziel-C-Datei).
Dann können Sie diese Einschränkungen programmgesteuert anpassen, nachdem Sie erkannt haben, auf welcher Art von Gerät Ihre App ausgeführt wird (vgl. Diese Antwort: https://stackoverflow.com/a/10167255/3844377).
Zum Beispiel für Ihre Breite Einschränkung, werden Sie in der Lage sein, so etwas zu tun:
IBOutlet widthConstraint: NSLayoutConstraint!
func viewDidLoad()
{
super.viewDidLoad()
self.adaptConstraintsToDevice()
}
func adaptConstraintsToDevice()
{
if deviceIsIPad // check link above that code sample to check whether the app is running on an iPad or not
widthConstraint.constant = 100.5 // put your width value here
}
Dies kann mit Größenklassen erfolgen. Wie ich einige Screenshots veröffentlicht
In Erstes Bild ich eine UIImageView mit Fix (Höhe + Breite) genommen haben Einschränkung, Top Abstand und Horizotaly Zentrum.
Im zweiten Bild wählt die Beschränkungsbreite/heght und von links Menü klicken Sie auf Symbol (+) und die jeweilige Größenklasse hinzufügen für ipad (Regular Breite, Höhe-Any) [wählen Größenklassen je nach Anforderung ] füge den Wert für width und height hinzu.
für weitere Informationen über Größenklasse und about size classes designs
Hope this Ihnen helfen. Danke
Die Antwort hängt davon ab, was Sie tun möchten. Bitte zeigen Sie Ihre aktuellen Einschränkungen oder das Storyboard-Layout an und wie das Layout für beide Geräte aussehen soll. –