2012-04-01 12 views
2

Ich habe eine toolBar und ich habe zwei UIBarButtonItem darauf eingerichtet. Beide UIBarButtonItem enthalten UIButton s als ihre customView s.Interagieren mit anderen Ansichten, während ein Popover aktiv ist

aktiviere ich einen popover für ihre Touch Up Inside Ereignis wie unten,

[popover1 presentPopoverFromBarButtonItem:buttonItem1 permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

Ich habe eine andere UIButton namens clear in der Hauptansicht. (Auch das ist die Ansicht, die das obige enthält toolBar.) Ich habe eine Methode für clearFilters Schaltfläche Touch Up Inside Ereignis deklariert.

Mein Problem ist, ich nicht mit dem clear Taste in Wechselwirkung treten kann, während ein popover aktiv ist. Also, ich suche nach einer Lösung, um mit dieser clearFilters Taste zu interagieren, während eine popover aktiv ist.

Ich habe versucht, indem Sie passthroughViews Eigenschaft für eine Popover wie unten hinzufügen und es funktioniert nicht wie ich es erwarte.

popover1.passthroughViews = [NSArray arrayWithObject:clearFiltersButton]; 

Was könnte der Grund sein. Wie die Dokumentation erwähnt hat, kann ich kein Problem sehen.

Ich erwarte, dass, wenn die oben genannten Dinge richtig sind, dann wird das Touch Up Inside Ereignis der die clear Schaltfläche sollte Feuer sein.

Also, bitte zeigen Sie mir, wenn es ein Problem oder eine notwendige Möglichkeit gibt, an dieser Sache zu arbeiten.

Ich arbeite an XCode4 und iOS 4.3.

Danke.

+0

Haben Sie versucht, die gesamte navigationBar passThrough zu machen? – CodaFi

+0

Ich habe versucht, nachdem Sie kommentiert. Aber kein Ergebnis. Das lustige ist, während ein Popover aktiv ist, die anderen UIBarButtonItem-Antworten auf meine Taps ohne PassthroughViews-Eigenschaft. Also brauche ich ein solches Verhalten für andere Ansichten außerhalb der Symbolleiste. – chinthakad

Antwort

6

Die UIPopoverController documentation verrät, warum die anderen Bar Tasten angezapft werden kann, während die popover sichtbar ist: „Wenn die popover, bietet dieses Verfahren die Symbolleiste fügt hinzu, dass die Schaltfläche, um die Liste der Pass-Through-Ansichten des popover besitzt“

Versuchen Sie, die Passthrough-Ansichten des Popovers abzufragen und zu protokollieren. Hat es schon Sachen drin? Vielleicht würde so etwas funktionieren?

myPopover.passthroughViews = [myPopover.passthroughViews arrayByAddingObject:clearFilters]; 

Ich habe diesen Code nicht getestet, aber es ist einen Versuch wert.