2014-10-06 4 views
6

Ich habe die seltsamsten Probleme mit einem heutigen Widget auf iOS.iOS Today Extension Table View Zeilen erkennt nur Taps auf einem Etikett

Ich habe ein einfaches Widget mit einer Tabellenansicht wie folgt aus: https://grab.edr.io/2e557aa43a34b7460b1eac44cbcaf596.png

Die Sache ist, es reagiert nur auf Berührungen (die Zeilen nur hervorgehoben werden), wenn ich eines der Etiketten tippen, und nicht den Rest die Zeile (die leer ist).

Dies geschieht sowohl auf dem Gerät als auch auf dem Simulator.

Ich erkenne Berührungen mit tableView: didSelectRowAtIndexPath :, so dass ich dort kein Problem sehen kann. Hier

ist ein Screenshot von meinem Drehbuch: https://grab.edr.io/c2dc09db20ded2b471dc94ea339141b8.png

Hilfe oder Idee wäre sehr dankbar!

Danke.

Antwort

9

Antwort vom Entwickler-Support von Apple.

Es ist ein iOS 8 Bug.

Eine Problemumgehung für es ist, die Deckkraft des Widgets auf 0.01 festzulegen.

+0

Wenn Sie die Opazität des Widgets sagen einstellen, haben Sie die Hauptansicht bedeuten, die Tabellenansicht, oder etwas anderes? – AndyDunn

+1

Die Tabellenansicht. – MegaEduX

+1

Wie stelle ich die Deckkraft ein? –

0

Problemumgehung: Legen Sie die Opazität (0,01) wie folgt fest self.view.backgroundColor = [UIColor colorWithWhite: 1 alpha: 0.01];

7

Die Verwendung der Problemumgehung einer Hintergrundansicht mit einer weißen Hintergrundfarbe und einem Alpha von 0,01 verursacht einen leicht sichtbaren Rand auf iPads, wo das Benachrichtigungscenter nicht den gesamten Bildschirm abdeckt, besonders am rechten Rand der Tabellenansicht.

Eine andere Problemumgehung ohne diesen visuellen Fehler ist die Verwendung eines UILabel als backgroundView der Zelle. Das Etikett benötigt keine Text- oder Hintergrundfarbe.

self.backgroundView = [UILabel new]; 
+1

nicht wollen, um Code zu schreiben, und auf das Storyboard verlassen zu können, machte ich einfach die Einschränkungen für das automatische Layout machen die Etiketten in meiner Zelle decken die gesamte contentView, so dass ein Tipp überall funktioniert. –

0

Swift 2.1/iOS 9.1 Lösung:

self.view.backgroundColor = UIColor(red: (255.0/255.0), green: (255.0/255.0), blue: (255.0/255.0), alpha: 0.01) 
Verwandte Themen