2013-06-11 4 views
5

in einigen iPhone apps sah ich eine Taste welche war schwebte über der Inhaltsansicht, eg. in der App EyeEm. Wenn der Benutzer den Inhalt scrollt, bleibt die Schaltfläche dort, wo sie sich befindet und ist immer noch ein Interaktionselement. Overlay Button which is floating over the content viewWie man eine Überlagerungstaste implementiert, die über die Inhaltsansicht schwebt

Wie kann ich das umsetzen?

würde Mein Ansatz:

  • Erstellen Sie eine Ansicht mit Inhalt
  • einen Knopf auf sie setzen
  • Aber wie die Schaltfläche schweben machen?

edit:

Das Aufschwimmen scheint das Standardverhalten zu sein. Interessanterweise haben addSubview und insertSubview das gleiche Verhalten beim Platzieren der Schaltfläche ... beide schweben über den Inhalt.

- (void)addOverlayButton { 
UIButton *oButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[oButton addTarget:self 
      action:@selector(aMethod:) 
      forControlEvents:UIControlEventTouchDown]; 
[oButton setTitle:@"Show View" forState:UIControlStateNormal]; 
oButton.frame = CGRectMake(80.0, 210.0, 160.0, 40.0); 
[self.view addSubview:oButton]; 
//[self.view insertSubview:oButton aboveSubview:_scrollView]; // same result as addSubview. 
// Both solutions let the button float over the content. 
} 

Antwort

3

ein Subview zu Ihrem Fenster Inhalt Ansicht mit insertSubview:aboveSubview: Methode mit Taste und Scroll als Argumente hinzufügen, aber vorsichtig sein: Wenn zwei Geschwister sowohl Transparenz sehen, ist die resultierende Zeichnungsverhalten nicht definiert ist.

+1

addSubview das Floating-Verhalten zu haben scheint tun wollen als default .. siehe meine aktualisierte Frage – jerik

0

, wenn Sie über sie mit Add Storyboard nur Taste, wie that

, wenn Sie mit dem Code insertSubview:buttonView aboveSubview:scrollView

nicht zählt, seine Tabelle oder blättern Ansicht

+0

funktioniert, wenn im Inhaltsbereich alles vom Storyboard erstellt wird. Aber ich habe Inhalt, der programmatisch erstellt wird und in diesem Fall wird der Button nicht angezeigt. Ich nehme an, er ist unter dem programmierten Inhalt versteckt. Vielleicht muss ich den Button irgendwie hochheben, damit die Ebene über dem programmierten Inhalt liegt. – jerik

Verwandte Themen