Sunday 12 February 2017

Edgesforextendedlayout Apfel

Ich habe ein Projekt, das im vergangenen Jahr gebaut wurde, und es verwendet XIBs, keine Storyboards. Die XIBs verwenden nicht Auto Layout, aber sie verwenden einige Autosizing. Ich habe ein Problem beim Ausführen mit iOS7, in dem alle Ansichten unter der Statusleiste versteckt sind. Ich verstehe vollkommen, dass dies ein neues Feature mit iOS7 ist, in dem dies zu erwarten ist. Allerdings sind alle Lösungen für die Festsetzung es nicht dies nicht funktionieren. Ich habe ein Bild an der Spitze der Ansicht, die immer unter der Statusleiste zeigt, und Im nicht mit Navigationsleisten oder so ähnlich. Ich habe versucht, die Aktualisierung der Y-Deltas in der XIB (sie haben keine Auswirkungen auf die Ansicht), habe ich versucht, die Einstellung der KantenForExtendedLayout zu UIRectEdgeNone (und nichts), und eine Menge anderer Dinge. Jedes Mal, die Statusleiste zeigt mit der Ansicht unter es versteckt, egal was ich tue. Das ist, es sei denn, ich manuell nach unten bewegen die Ansicht in der XIB, um Platz für die Statusleiste (aber die Lösung funktioniert nicht, weil es nicht rechts in iOS6, natürlich). Was ist seltsam ist, dass selbst wenn ich eine Zeile von Code zu hacken in einer View-Shift versuchen, funktioniert es nicht (wie die folgenden): Nicht, dass ich mit dieser Art von Lösung gehen würde, aber seine nur seltsam, dass es nicht funktioniert (die Nur Zeit, die ich normalerweise sehen, dass nicht Arbeit ist, wenn Auto-Layout ist vorhanden, was nicht in diesem Fall). Es ist ein Design-Anforderung, dass die Statusleiste zeigt, und Im nur stumped, warum ich kann nicht die Ansicht, um unter der Statusleiste für iOS7. Ich habe jeden einzelnen Stapelüberlaufpfosten auf dem Thema, sowie Äpfelübergangsguides gelesen. Noch einmal, um zu wiederholen, ich voll und ganz verstehen, wie es funktionieren sollte und was die erwartete Lösung sollte dies, aber nichts davon scheint für dieses spezielle Projekt zu arbeiten. Ich bin ein erfahrener iOS-Entwickler, aber dieses Projekt wurde von einem anderen Team gebaut, so dass ich nicht weiß, ob theres etwas versteckt irgendwo in der XIB-Dateien, Plist oder Code, die Trumpen der oben genannten Einstellungen sein könnte. Mich bitte informieren, wenn es etwas gibt, das auf diesem betrachtet werden kann, oder mehr Informationen, die ich zur Verfügung stellen kann. Vielen Dank im Voraus gefragt, Apple sind drängen Sie auf Autolayout verwenden, um dies zu erreichen. Sie müssen eine Einschränkung für das Top-Layout-Handbuch aus der oberen Teilansicht in Ihrer Ansicht festlegen. Siehe dieses Dokument für Beispiele: Um dies ohne XIBs zu tun, müssen Sie die Einschränkung programmgesteuert hinzufügen. Äpfel docs geben ein gutes Beispiel von diesem, das Ive zusammengefasst unten. Geben Sie an, dass topLayoutGuide eine Eigenschaft auf einem View-Controller ist, verwenden Sie es einfach in Ihrem Wörterbuch von variablen Bindungen. Dann richten Sie Ihre Constraint wie normal: Was ist edgesForExtendedLayout: für Best How To: Sie müssen nur diese zu Ihrem Code in viewDidLoad hinzufügen. Self. tableView. tableFooterView UIView allocinitWithFrame: CGRectZero EDIT: sorry ich wurde in objektiv-c hier ist in der schnellen geschrieben. Self. tableView. tableFooterView UIView (frame: CGRectZero) In der Tabellenansicht werden zusätzliche Leerzeilen angezeigt, um die Schraffuren auszufüllen, falls dies nicht der Fall ist. Fügen Sie in initializeSettingsView () nibView. setTranslatesAutoresizingMaskIntoConstraints (false) hinzu. Und dann in viewDidload fügen Sie die Hight-Einschränkung den settingsView constraints. append hinzu (NSLayoutConstraint (Item: settingsView, Attribut, Höhe, relatedBy Equal, toItem: nil, Attribut NotAnAttribute, Multiplikator: 1.0, Konstante: 90.0)) Und Sie brauchen nicht Um die Position von settingsView einzustellen, da es das Layout an der richtigen Position sein soll. Scheint, kein Fehler in Ihrem Code sein, Überprüfen Sie, ob die Arrays in Plist die gleiche Namensgebung wie in Ihrem Code könnte etwas mit Schlüsseln verwechselt werden. Sie können überprüfen, dass durch Rechtsklick auf plist und Open-as wählen Sie Quellcode Like. ObjectForKey (name) heißt ltkeygtnameltkeygt objectForKey (image) mit dem Namen ltkeygtimageltkeygt. Zuerst haben Sie zwei Hauptauswahlen: Verwenden Sie ein imageView mit einem GIF oder verwenden Sie ein Video für Hintergrund mit AVPlayer oder MPMoviePlayerController. Sie finden eine Menge von Beispiel für beide Möglichkeiten, Heres ein paar: Verwenden Sie ein GIF für kühle Hintergrund Video-Cover iOS In Antwort auf Ihre. UITabBarControllerDelegate verfügt über eine delegate-Methode - tabBarController: shouldSelectViewController. Nur implementieren und überprüfen, ob Benutzer angemeldet ist oder nicht. z. B. - (BOOL) tabBarController: (UITabBarController) tabBarController shouldSelectViewController: (UIViewController) viewController else Sie können auch überprüfen, welche View-Controller hat. Die Kugel wird symmetrisch zu ihrem Annäherungswinkel reflektiert, wobei sie eine vollständig elastische Kollision annimmt. Das heißt, um das Verhalten, das Sie suchen, zu erhalten, müsste der Ball genau von einer Linie Mittelpunkt zur nächsten ohne Verlust von Energie Ansatz. Sprite Kits Physik Motor wird. Was du versuchst zu tun, wird unweigerlich in einige schwerwiegende Leistungsprobleme in einem Fall oder anderen stoßen. Wenn Sie alle Zellen (und ihre Daten in den Speicher) speichern, wird der verfügbare Speicherplatz für Ihre Anwendungen schnell ausgeschöpft. Auf der anderen Seite dequeueing und Nachladen produzieren Lags auf einigen Geräten als. Sie können es mithilfe von Aspect Ratio-Eigenschaft von AutoLayout. Sie können diesem Tutorial folgen. Es gibt eine sehr nette Erklärung, wie man alles oben skaliert, indem man fixes Seitenverhältnis verwendet. Simblestudiosblogdevelopmentpercentage-width-in-autolayout. html. Ich denke, es ist nicht möglich, Asset-Katalog für Video-Zeug verwenden, seine vereinfachte Verwaltung von Bildern. Apple-Dokumentation Verwenden Sie Asset-Kataloge, um die Verwaltung von Bildern, die von Ihrer App als Teil ihrer Benutzeroberfläche verwendet werden, zu vereinfachen. Ein Asset-Katalog kann enthalten: Bildsätze: Wird für die meisten Typen verwendet. Wenn Sie AutoLayout verwenden, verwenden Sie diesen Code Sie versuchen, die UITableView-Eigenschaften estimatedHeight festzulegen. - (void) viewWillAppear: (BOOL) animiert Andere weisen diese UITableView-Delegatmethode an - (CGFloat) tableView: (UITableView) tableView heightForRowAtIndexPath: (NSIndexPath) indexPath. (TextFieldDidChange) forControlEvents: UIControlEventEditingChanged und in der TextFieldDidChange - Funktion aktualisieren Sie Ihr Label: - (void) textFieldDidChange Die Funktion shouldChangeCharactersInRange wird mehr benötigt, um Entscheidungen zu treffen, um zukünftige Änderungen zuzulassen oder nicht. Nein, Sie müssen nicht beide verwenden. Entweder Sie gehen mit reloadCell Technik oder Zell-Updates über startUpdate und endUpdate. Wenn Sie eine bestimmte Zeile neu laden, erstellt das interne Tabellenansichts-System 2 Zelle und fügt dann eine neue in das neue ein. Sie können die startUpdates und endUpdates und entfernen. Die offizielle Dokumentation für - setImage: forSegmentAtIndex: sagt, dass ein Segment nur ein Bild oder einen Titel haben kann, das er beide nicht haben kann. Es gibt kein Standardbild. Also, nein, es gibt keine Möglichkeit zu tun, was Sie wollen, mit dem Bild-und Titel-Eigenschaften. Allerdings gibt es ein paar Optionen zu erreichen. Basierend auf den Kommentaren zu der Frage, haben Sie erwähnt, dass die Worte nie ändern wird. Sie könnten möglicherweise eine ganze Reihe von ifelse Aussagen erstellen, die jedes Wort, das gegen jedes Wort in einem Array ausgewählt wird, überprüfen. Ich habe dies als eine effizientere Alternative und es sollte hoffentlich funktionieren. Rollen Sie diese Änderungen zurück, fügen Sie eine InfoPlist. strings-Datei zu Ihrem Projekt hinzu, lokalisieren Sie sie und fügen Sie dann die erforderlichen Schlüssel hinzu. Beispiel: CFBundleDisplayName App-Anzeigename CFBundleName App-Bündelname. Sie müssen UITextField anstelle von UILabel verwenden. Wenn Sie eine neue Zelle einfügen, setzen Sie diese UITextFields enabled - Eigenschaft auf true. Wenn Sie alle anderen Zellen laden, denken Sie daran, es auf false zu setzen, um die Bearbeitung zu deaktivieren (die gleiche Zelle kann an mehr als einer Stelle verwendet werden). Sie müssen die Eigenschaft synthetisieren: Implementierung Anwendung Synthese AnwendungState applicationState Ende oder deklarieren Sie die Eigenschaft erneut: Schnittstelle Anwendung. NSObject ltApplicationProtocolgt-Eigenschaft (nichtatomisch) ApplicationState-AnwendungState-Ende. Weil Sie wiederverwendbare Zellen verwenden, wenn Sie versuchen, eine Zelle auszuwählen, die sich nicht mehr im Bildschirm befindet, wird die App abstürzen, da die Zelle nicht lange im Speicher vorhanden ist. Versuchen Sie folgendes: if lastCell self. diceFaceTable. cellForRowAtIndexPath (lastIndexPath) als TableViewCell Aktualisieren Sie die Daten. Möglicherweise müssen Sie den Testmodus für Ihre App im AppLovin-Dashboard aktivieren, damit Testanzeigen für Ihren Bereich geschaltet werden. Bitte senden Sie Ihre Fragen an supportapplovin für weitere Unterstützung. Es scheint, dass das Prädikat falsch ist. NSPredicate resultPredicate NSPredicate predicateWithFormat: SELF. fullName enthaltensc, searchText. AppendString: ist von NSMutableString, stringByAppendingString: ist von NSString. Der erste mutiert den vorhandenen NSMutableString. Fügt dem Ende des Empfängers die Zeichen einer gegebenen Zeichenfolge hinzu. Die zweite gibt einen neuen NSString zurück, der eine Verkettung des Empfängers und des Parameters ist. Gibt einen neuen String zurück. Sie können einen Verweis auf die Ansicht erhalten, die die Geste über die Ansichtseigenschaft hinzugefügt wird. In diesem Fall fügen Sie es der Schaltfläche hinzu, damit die Ansichtseigenschaft Ihnen die Schaltfläche zurückgibt. Lassen Sie die Taste sender. view als UIButton. Var dateFormatter NSDateFormatter () dateFormatter. dateFormat yyyy-MM-dd dateFormatter. locale NSLocale (localeIdentifier: enUS) Lassen Sie d NSDate () let s dateFormatter. stringFromDate (d). Sie können es mit Geometrie-Shader, um Billboarding Geometrie von jedem Scheitel auf der GPU zu erstellen. Sie können dann entweder die Kreise als Geometrie erstellen oder Quads erstellen und sie mit einem Kreiselement zeichnen (ich empfehle das später). Geometrie-Shader werden jedoch noch nicht umfassend unterstützt. Ihr Code sieht gut aus, es sieht so aus, als ob Sie versehentlich einen Haltepunkt in Ihrem Code platziert haben, sehen Sie, dass blau schauenden Pfeil auf der linken Seite der grün hervorgehobenen Zeile Führen Sie einen der folgenden Schritte aus: Klicken Sie mit der rechten Maustaste darauf und klicken Sie auf Breakpoint ziehen Löschen Sie diesen Haltepunkt in Ihren Ansichtsregler.


No comments:

Post a Comment