iOS UITableViewWrapperView nicht in iOS 11 mit Xcode9 vorhanden

8

UITableViewWrapperView ist nicht in iOS11 vorhanden, wenn ich meine App mit Xcode9 erstelle.

Ich stelle eine Hintergrundansicht für meine UITableView ein, indem ich insertSubview methode von UIView benutze, dieser Code funktioniert mit allen iOS-Versionen, wenn ich meinen Code mit Xcode8 kompiliert habe, aber wenn ich den gleichen Code mit Xcode9 und dann Inhalt bilde ist unsichtbar (auf iOS 11), weil die Hintergrundebene über Zellen kommt.

Unten sind Debug-Ergebnisse -

  1. Xcode9 und iOS 11 -

    A. Vor dem Hinzufügen von Hintergrund

    %Vor%

    B. Nach dem Hinzufügen von Hintergrund

    %Vor%
  2. Xcode8 und iOS 11 - UITableViewWrapperView ist vorhanden -

    A. Vor dem Hinzufügen von Hintergrund

    %Vor%

    B. Nach dem Hinzufügen von Hintergrund

    %Vor%

Methode zum Festlegen des Hintergrunds -

%Vor%

Erstellen Sie mit Xcode8 unter iOS11

Erstellen Sie mit Xcode9 unter iOS11

Ich habe diesen Link gefunden, der bestätigt, dass UITableViewWrapperView von iOS11 entfernt wurde, aber nur, wenn wir kompilieren Code mit Xcode9?

    
Rahul 17.10.2017, 19:42
quelle

4 Antworten

1

Deshalb verwende ich nicht undokumentierte Funktionen. Apple-Jungs ändern sie wie sie wollen ohne Benachrichtigungen. Mein Vorschlag für Ihren Fall ist, Tabellenansicht auf ein rotes Substrat in IB zu setzen und Ihren Code anzuwenden.

NB. Vergessen Sie nicht, die Eigenschaft clipsToBounds auf true zu setzen.

Die Funktion wird noch kürzer:

%Vor%

Sie können Beispielprojekt hier finden: Ссылка

    
Alexey 17.10.2017 20:31
quelle
0

Überprüfen Sie Ihre Zielerstellungseinstellungen. Sie bauen möglicherweise auf das neueste Betriebssystem auf, und beim Wechsel von XCode 8 auf 9 wurde das Kompilierungs-Zielbetriebssystem von 10 auf 11 verschoben. Dies kann auch eine Unterscheidung zwischen Debug- und Release-Builds sein. Sie können Ihr Ziel in XCode 9 zu iOS 10 ändern und es wird mit den behobenen Problemen neu kompilieren, aber Sie riskieren in Zukunft Deprecation-Probleme.

    
Derek 20.10.2017 06:18
quelle
0

Versuchen Sie einfach, myCustomTableView.insertSubview(backgroundView, at: 0) durch

zu ersetzen
  

myCustomTableView.backgroundView = Hintergrundansicht

Es funktioniert gut für mich.

    
Dipak Kacha 26.10.2017 06:30
quelle
-1

bro Ich denke, dass diese Codezeile für Sie nützlich sein kann.

alter Code:

%Vor%

Durch folgenden Code ersetzen:

%Vor%     
Bhaumik Joshi 26.10.2017 06:45
quelle

Tags und Links