2016-04-22 53 views
0

我使用Swift在寫我的第一iOS的應用程序,我有一個UIButton其中有開始/暫停功能。在點擊開始時,它將加載UIWebView中的圖像並將文本更改爲暫停。當點擊暫停時,它將停止加載webView實現播放/暫停上的UIButton觸摸起來裏面

我用下面的方法

@IBOutlet weak var startPauseButton: UIButton! 

    @IBAction func startPauseButtonAction(sender: UIButton) { 

     if startPauseButton!.currentTitle == "Start"{ 

      if let htmlURL = NSBundle.mainBundle().pathForResource("index", ofType: "html"){ 
       // let htmlURL = NSBundle.mainBundle().URLForResource("index", withExtension: "html") 
       let requestURL = NSURL(string: htmlURL) 
       let requestObject = NSURLRequest(URL: requestURL!) 
       webView.sizeToFit() 
       webView.loadRequest(requestObject) 
      }else{ 
       let url = NSBundle.mainBundle().URLForResource("video", withExtension: "html") 
       let requestObject = NSURLRequest(URL:url!); 
       webView.loadRequest(requestObject) 
      } 

      startPauseButton.setTitle("Pause", forState: UIControlState.Normal) 
     }else{ 
      webView.stopLoading() 
      startPauseButton.setTitle("Start", forState: UIControlState.Normal) 
     } 


    } 

但是,該代碼正在改變,從開始的文字暫停,反之亦然。我無法上webView

加載資源在下面的代碼執行,

@IBOutlet weak var startPauseButton: UIButton! 

    @IBAction func startPauseButtonAction(sender: UIButton) { 

     // if startPauseButton!.currentTitle == "Start"{ 

      if let htmlURL = NSBundle.mainBundle().pathForResource("index", ofType: "html"){ 
       // let htmlURL = NSBundle.mainBundle().URLForResource("index", withExtension: "html") 
       let requestURL = NSURL(string: htmlURL) 
       let requestObject = NSURLRequest(URL: requestURL!) 
       webView.sizeToFit() 
       webView.loadRequest(requestObject) 
      }else{ 
       let url = NSBundle.mainBundle().URLForResource("video", withExtension: "html") 
       let requestObject = NSURLRequest(URL:url!); 
       webView.loadRequest(requestObject) 
      } 

      startPauseButton.setTitle("Pause", forState: UIControlState.Normal) 
    /* }else{ 
      webView.stopLoading() 
      startPauseButton.setTitle("Start", forState: UIControlState.Normal) 
     } 
*/ 

    } 

我觀察到,在按鈕上的第二抽頭,該視圖中webView加載。如何克服此第二個選項卡事件將其更改爲第一個選項卡並實現此功能?

EDIT 1

上執行

@IBAction func startPauseButtonAction(sender: UIButton) { 
     println("button has been tapped \(startPauseButton!.titleForState(.Normal))") 
    // if startPauseButton!.titleForState(.Normal) == "Start" { 
      if let htmlURL = NSBundle.mainBundle().URLForResource("index", withExtension: "html") { 
       let requestObject = NSURLRequest(URL: htmlURL) 
       webView.sizeToFit() 
       webView.loadRequest(requestObject) 
      }else{ 
       let url = NSBundle.mainBundle().URLForResource("video", withExtension: "html") 
       let requestObject = NSURLRequest(URL:url!); 
       webView.loadRequest(requestObject) 
      } 

      startPauseButton.setTitle("Pause", forState: UIControlState.Normal) 
    /* }else{ 
      webView.stopLoading() 
      startPauseButton.setTitle("Start", forState: UIControlState.Normal) 
     }*/ 
    } 

以下是輸出 button has been tapped Optional("Start") button has been tapped Optional("Pause")//here the webview is getting loaded button has been tapped Optional("Pause") button has been tapped Optional("Pause")

+0

有沒有可能'htmlURL'或'url'是'nil'? – ozgur

+0

@ozgur是的,它可以 – onkar

回答