Xcode6: IBDesignable und IBInspectable mit Objective-C


74

Ich habe eine Objective-C UI - Komponente , dass ich im Interface Builder machen inspectable möchte mit Xcode 6.er Swift hat das @IBDesignableund @IBInspectableErklärung Attribute. Sind sie auch in Objective-C verfügbar? Wie werden sie verwendet?


Wir können hier nicht darüber diskutieren. Bitte fragen Sie in den Apple-Entwicklerforen nach.
Mario

11
@Mario Warum können wir hier nicht darüber diskutieren? Sie wissen, dass die NDA dieses Jahr entspannt wurde , oder?
Matt Gibson

2
Fragen, die von einer NDA eines Drittanbieters behandelt wurden, waren in StackOverflow noch nie aktuell. Siehe meta.stackoverflow.com/a/94488/162235
Jano

Antworten:


75

Die Entsprechungen sind IB_DESIGNABLE und IBInspectable - Beispiele für Objective C finden Sie in der Dokumentation .

Auch das diesjährige WWDC-Video "Was ist neu in Interface Builder?" Hat seine Beispiele in Swift, aber der Moderator erwähnt nebenbei auch die Objective C-Äquivalente.


@ JoshuaNozzi behoben. Apple hat die Dokumentation gestern mit dem Start von iOS 8 aus dem Pre-Release-Bereich verschoben.
Matt Gibson

Es funktioniert nicht, wenn Sie eine Unterklasse von UIButton erstellen. Warum?
Daniel Gomez Rico

83

Codebeispiel:

#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface LOLView : UIView
@property (nonatomic) IBInspectable UIColor *someColor; 
@end

@Satyam Können Sie die Ansicht des Ansichts-Controllers nicht einfach auf eine Ansicht einstellen, die diese Makros in der Header-Datei enthält?
Hhanesand

Wie ist es möglich, iBOutlet IBInspectable zu machen? Nachdem ich es geändert habe, habe ich nicht mehr den Eigenschaftskreis, der mir zeigt, dass es verbunden ist
Pini Cheyni

Glaubst du nicht, dass du das trotzdem machen willst? IBInspectable legt normalerweise eine Eigenschaft für ein IBOutlet fest. Beispiel: Textfarbe (IBInspectable) eines UILabel (IBOutlet).
Adam Waite

Funktioniert dies in der .m-Datei oder nur zur Verwendung in der .h-Datei Ihrer benutzerdefinierten Ansicht?
Tash Pemhiwa

Ich nehme an. Warum sollten Sie es aber in .m tun wollen?
Adam Waite
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.