Używam "wtyczki" SWRevealViewController do pomocy w tworzeniu paska bocznego w mojej aplikacji. Teraz w Objective-C, można kontrolować pasek boczny za pomocą następującego kodu:Implementacja SWRevealViewController w Swift
[self.sidebarButton setTarget: self.revealViewController];
[self.sidebarButton setAction: @selector(revealToggle:)];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
Gdzie sidebarButton została podłączona UIBarButtonItem i IBOutlet. Teraz próbuję zastosować to do mojego kodu Swift i mam mieszany sukces.
Ustawiłem przycisk @IBOutlet var. Teraz próbowałem zarówno UIBarButtonItem i UIButton. Kiedy próbuję UIBarButtonItem, użyłem następującej linii:
button = UIBarButtonItem(barButtonSystemItem: .Add, target: self.revealViewController(), action: "revealToggle:")
Jednak to nic nie robi i przycisk nie działa. Jednakże, jeśli przycisk SET, aby być UIButton i zaczepić to z następujących powodów:
button.addTarget(self.revealViewController(), action:"revealToggle:", forControlEvents:UIControlEvents.TouchUpInside)
Działa przesuwać pasek się i ale nie poprzez gesty. Problem polega na tym, że nie mogę dodać UIButtonu do paska narzędzi (i tak w StoryBoard).
Czy istnieje sposób na prawidłowe wdrożenie? Dodatkowo, czy jest możliwe dodanie także funkcji rozpoznawania gestów?
Dzięki
EDIT
Ok udało mi się dostać pracę gest przełączania, chociaż myślę, że moja metoda jest trochę za długa zdyszany:
var swipeRight = UISwipeGestureRecognizer(target: self.revealViewController(), action: "revealToggle:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeRight)
var swipeLeft = UISwipeGestureRecognizer(target: self.revealViewController(), action: "revealToggle:")
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
self.view.addGestureRecognizer(swipeLeft)
Więc proszę poprawić .
Jakaś pomoc z tym? – Prateek
Witaj. Mam ten sam problem z gestem. Próbowałem Twojego rozwiązania, ale nie wygląda dobrze. Czy znalazłeś inny sposób na zrobienie tego? Dzięki. –
Znalazłem lepsze rozwiązanie do dołączania gestów. Umieść go na swoim wierzchu ViewController. self.view.addGestureRecognizer (self.revealViewController(). panGestureRecognizer()); –