Ich glaube, dass diese Frage dupliziert, aber ich kann es nicht finden = (. Wie eigene UIView Klasse erstellen, die von (iPhone/iPad geladen wird) *. Xibbenutzerdefinierte Ansicht für den universellen Einsatz
ich habe versucht nächste Dinge:
@interface CurtainView : UIView
...
- (id)init {
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self = [[[NSBundle mainBundle] loadNibNamed:@"CurtainView_iphone" owner:self options:nil] objectAtIndex:0];
[self setFrame:CGRectMake(0, 0, 320, 460)];
}
else {
self = [[[NSBundle mainBundle] loadNibNamed:@"CurtainView_ipad" owner:self options:nil] objectAtIndex:0];
[self setFrame:CGRectMake(0, 0, 768, 1004)];
}
return self;
}
- (void)drawRect:(CGRect)rect
{
NSLog(@"there should be some animation on view appirance");
}
und ...
CurtainView* curtain = [[CurtainView alloc] init];
NSLog(@"before");
[self.view addSubview:curtain];
[curtain drawRect:CGRectMake(0, 0, 320, 460)];
Aber in diesem Fall habe ich nicht das Ergebnis, das ich erwarte, und DrawRect ruft nicht. Ich hoffe, es gibt eine einfache Möglichkeit, benutzerdefinierte Ansichten für universelle Apps zu erstellen.
Ich putted nur die Fragmente meines Codes in der Frage. Es gibt "#import". Es scheint, dass Problem darin ist, "objectAtIndex: 0" aus dem Bungle zu laden - Es lädt nicht diese UIView, die ich erwarte = (. Aber
Vov4yk
und in Ihrer Antwort: Es gibt keinen Mechanismus zum Laden * .xib für iPhone/iPad – Vov4yk
@ Vov4yk siehe meine bearbeitete Antwort – priyanka