Meine App besteht aus einem Kartenspiel. Jede Karte selbst wird in einer Klasse namens draggableview erstellt. Draggableview hat eine Scrollansicht, so dass der Benutzer durch eine Reihe von Bildern scrollen kann, die für die Karte relevant sind. In der ersten Ansicht gibt es Schaltflächen, die ich in draggableview.xib erstellt habe und deren Methoden in der dragableview-Klasse enthalten sind. Wenn Sie jedoch an der ersten Ansicht vorbei blättern, haben alle anderen Ansichten diese Schaltflächen nicht.Einschränkungen mit mehreren Unteransichten
EDIT: Ich habe mein Problem teilweise gelöst. In initwithView habe ich jede Schaltfläche als Unteransicht von draggableview hinzugefügt. Jetzt erscheinen die Schaltflächen in allen Ansichten von scrollview. Im Storyboard habe ich neue Einschränkungen gelöscht und hinzugefügt. Und im Storyboard bewegen sich die Schaltflächen entsprechend. Im Simulator stecken sie jedoch in der rechten Ecke des Bildschirms.
Für diesen ersten Versuch habe ich dies zuerst mit einem Knopf (Review-Taste) getan.
meine Initwithframe-Methode:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self addSubviewFromNib];
[self setupView];
panGestureRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(beingDragged:)];
cardWidth = frame.size.width;
cardHeight = frame.size.height;
type = 0;
panGestureRecognizer.delegate = self;
panGestureRecognizer.cancelsTouchesInView = NO;
_backgroundScrollView.panGestureRecognizer.cancelsTouchesInView = NO;
likeBadge.image = [UIImage imageNamed:@"likeBadge"];
likeBadge.alpha = 0;
likeBadge.layer.zPosition=99;
passBadge.image = [UIImage imageNamed:@"passBadge"];
passBadge.alpha = 0;
passBadge.layer.zPosition=99;
self.backgroundScrollView.contentSize = self.bounds.size;
[self addSubview: reviewButton];
[self addGestureRecognizer:panGestureRecognizer];
}
return self;
}
Welche sind die Tasten? 'likeBadge' und' passBadge'? Und sind sie Kinder der ziehbaren Ansicht, nicht die Scrollansicht? Das würde meine Antwort dramatisch ändern. – danh
Nein - die Schaltflächen, über die ich spreche, werden, wie ich annehme, von addSubViewFromNib hochgeladen (siehe meinen früheren Kommentar zu meinem Fehler). Sie sind speziell: Telefon, Karte, Menü, Überprüfung und Teilen Tasten. Und ja, sie sind Kinder von draggableview (die Nib-Datei), nicht die Bildlaufansicht. – Matt
Haben Sie die Farbe der primären Inhaltsansicht deaktiviert? Das ist anders als das Setzen von Alpha auf Null. – danh