2013-10-07 8 views
7

Ich möchte einen UIViewController mit verschiedenen Optionen erstellen, die jeweils mit einem UISwitch aktiviert/deaktiviert werden können. Ich verwende Xcode 5 und iOS 7 Deployment-Ziel. Die UITableView enthält statische Zellen. Die Oberfläche wird in einem Storyboard erstellt.UISwitch in statischer UITableViewCell erzeugt Fehler

Wenn ich eine UISwitch zu einer Zelle hinzugefügt (um es contentView) ich diesen Fehler:

Exception while running ibtool: *** setObjectForKey: object cannot be nil (key: objectID) 

Ist es nicht möglich, eine UISwitch zu einem statischen UITableViewCell hinzufügen? Beim Entfernen des UISwitch verschwindet der Fehler.

enter image description here

Antwort

14

Ich habe das heute genau das Problem und ich konnte nicht herausfinden, was mein Problem verursacht, weil ich zu viele Einzelteile auf meiner Ansicht-Controller hinzugefügt haben. Jetzt weiß ich, dass es der UISwitch ist.

Aber ich habe das Problem dennoch gelöst.

Ich deaktiviert die "Accessibility" -Option und der Build war erfolgreich.

enter image description here

aber wie die „Zugänglichkeit“ Option kommen wird eine Frage der Objekt-ID bleibt unklar.

+1

Sie haben Recht. Wenn ich die "Accessibility" Option deaktiviere, ist der Fehler auch weg. Aber mein UISwitch ist zur Laufzeit nicht sichtbar. Ich denke, das Hauptproblem ist, dass ich statische Zellen benutze, aber ohne einen 'UITableViewController', was scheinbar nicht möglich ist. Haben Sie das auch mit statischen Zellen und ohne einen UITableViewController versucht? – Sebastian

+1

Ja, ich verwende statische Zelle auf Storyboard. Ich denke ich habe vorher ohne UITableViewController gearbeitet. Jetzt benutze ich UITableViewController, scheint dieses Problem nicht zu haben. – newguy

+1

Ich wechselte auch zu einem UITableViewController und jetzt funktioniert es. – Sebastian

1

Ein bisschen spät, aber auf das Spiel, aber ...

Wenn Sie definieren einen User Defined Runtime Attribut zu einem Autolayout Einschränkung, dass ein Platzhalter ist (dh zur Erstellungszeit entfernt), erhalten Sie diesen Fehler.

Verwandte Themen