2016-04-30 4 views
1

Ich schreibe eine App, in der es einen Scrollview gibt und was ich will ist, den Alpha der Taste zuerst auf 0 zu setzen und ihn in 1 zu ändern, wenn der Benutzer Scrollt zur letzten Seite. Ich schreibe Code wie folgt:Ändern des Aussehens meiner @IBAction-Taste in Swift aus seiner Funktion

@IBAction func startButton(sender: UIButton) { 
     sender.layer.cornerRadius = 2.0 
     sender.alpha = 0.0 
} 

extension UserGuideViewController: UIScrollViewDelegate { 
    func scrollViewDidScroll(scrollView: UIScrollView) { 
     let offset = scrollView.contentOffset 
     pageControl.currentPage = Int(offset.x/view.bounds.width) 
     if pageControl.currentPage == numberOfPages - 1 { 
      UIView.animateWithDuration(0.5) { 
       self.startButton.alpha = 1.0 
      } 
     } else { 
      UIView.animateWithDuration(0.2) { 
       self.startButton.alpha = 0.0 
      } 
     } 
    } 
} 

und es sagt die Value of type (UIButton)->() has no member alpha. Ich weiß nicht, wie ich das machen soll. Ich weiß, es wäre einfach, wenn diese Schaltfläche ein @IBOutlet ist, aber ich muss es als @IBAction einstellen, so dass, wenn es berührt wird, ich einen anderen View-Controller anzeigen kann.

Antwort

3

Sie benötigen beide eine @IBOutlet und eine @IBAction für die Schaltfläche erstellen. Ziehen Sie zweimal vom Interface Builder auf Ihren View-Controller und wählen Sie die entsprechenden Werte (Auslass oder Aktion) aus dem Popup-Menü und geben Sie ihnen unterschiedliche Namen. Dann greifen Sie auf die Steckdose in Ihrer scrollViewDidScroll Methode.

+0

Problem gelöst! Vielen Dank! – Allen

+2

@Allen, Sie sollten die Antwort akzeptieren, wenn es Ihr Problem löst. (Klicken Sie auf das Häkchen.) Dies ist eine wichtige Aufgabe auf SO. Andere, die den Thread lesen, wissen, dass dies die richtige Antwort ist. –

+0

Ja, ich wollte das machen. – Allen

Verwandte Themen