Recenlty Ich habe wiederverwendbare Klasse zum Rendern IBDesignables
XIBs in der Benutzeroberfläche gemacht.Debugging IBDesignable - debuggen ausgewählte Ansichten funktioniert nicht
@interface ReusableView()
@property (nonatomic, strong) UIView *contentView;
@end
@implementation ReusableView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
[self setupXib];
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
[self setupXib];
return self;
}
- (void)setupXib {
self.contentView = [self loadFromNib];
self.contentView.frame = self.bounds;
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self addSubview:self.contentView];
}
- (UIView *)loadFromNib {
NSBundle *bundle = [NSBundle bundleForClass: [self class]];
UINib *nib = [UINib nibWithNibName:NSStringFromClass([self class]) bundle:bundle];
UIView *view = (UIView *)[[nib instantiateWithOwner:self options:nil] firstObject];
return view;
}
@end
Bisher war alles bis heute in Ordnung. Ich habe buchstäblich nichts in meinem Code geändert (ich habe sogar auf den Master-Zweig zurückgegriffen, um sicher zu sein) und meine XIBs, die diese Klasse verwenden, werden nicht mehr in Storyboards gerendert.
In Interface Builder gibt es Informationen
Designables: Figur
fehlgeschlagen
aber die Show-Taste tut nichts, aber auch versuchen, Editor> Debug Ausgewählte Ansichten zu verwenden. Ich kann keinen Haltepunkt in meiner Klasse treffen.
Bisher habe ich versucht:
- Reinigung abgeleiteten Daten
- Neustart x-Code
- Interface Builder Cocoa Touch Tool Tötung
- Voll Neustart
- Projekt sauber (zwischen zuvor beschriebene Aktionen)
Ist es etwas ki nd von xcode Bug oder irgendwie ist es meine Schuld? Ist es möglich, Designables anders als mit der Debug Selected Views
Option zu debuggen?
haben Sie herausgefunden, wie dies zu tun? Nein, es ist wahrscheinlich nicht deine Schuld. Xcode ist ein Stück Mist. – SpaceDog
Ich habe seit einiger Zeit genau das gleiche Problem. Die einzige Lösung, die ich gefunden habe, ist den Inhalt der XIB-Datei zu löschen und neu zu erstellen. In meinem Fall gibt es eine bestimmte Bezeichnung in einer der XIB-Dateien, die normalerweise der Schuldige ist. Ich habe keine Ahnung, warum es korrumpiert wird, oder wie man feststellen kann, in welcher xib-Datei das Problem steckt, geschweige denn, welche Ansicht schuld ist, abgesehen von mühsamen manuellen Tests. Es ist extrem frustrierend. – Erik