2016-11-18 177 views
0

我需要有一個自定義視圖控制器彈出獨立當前表現視圖控制器, 它應該顯示每30秒,當彈出用戶點擊,它應該隱藏或解僱。IOS迅速彈出自定義視圖無論當前視圖控制器的每30分鐘

我一直在尋找,但毫無效果,任何幫助將不勝感激。

謝謝

+0

模態或非模態?非模態的你在uiscreen.mainscreen的視圖。 modal present vc from rootviewcontroller。 –

回答

0

在AppDelegate中寫入邏輯。這是它保持在內存中應用的整個生命週期,並且可以使用

UIApplication.shared.keyWindow?.rootViewController?.present(yourVC, animated: true, completion: nil) 

現在視圖控制器你不需要知道哪些瀏覽器是在頂部的單類和實例目前:)

+1

@Khushboo:在計時器方法中使用此代碼。 – Poles

+0

@Poles:感謝哥們:)是啊100%正確:) –

0

它的工作對我試試這個,讓我知道:

let imageV: UIImageView = UIImageView(frame: CGRectMake(90, 0, 80, 80)) 
       imageV.image = UIImage(named: "stop_record")! 
       self.message = UIAlertView(title: 「Custom view」, message: 「Processing…」, delegate: self, cancelButtonTitle:nil) 
       let v: UIView = UIView(frame: CGRectMake(10, 20, 100, 100)) 
       let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(SONGS.new(_:))) 
       tapGestureRecognizer.numberOfTapsRequired = 1 
       if tapGestureRecognizer.numberOfTapsRequired == 1 
       { 
        imageV.userInteractionEnabled = true 
        imageV.addGestureRecognizer(tapGestureRecognizer) 
        v.addSubview(imageV) 
        self.timer.invalidate() 
       } 
       self.timer = NSTimer.scheduledTimerWithTimeInterval(180.0, target: self, selector: #selector(SONGS.displayAlert), userInfo: nil, repeats: false) 
       let label = UILabel(frame: CGRectMake(90, 40, 100, 101)) 
       label.textAlignment = NSTextAlignment.Center 
       self.message.setValue(v, forKey: "accessoryView") 
       self.message.tag = 3 
       self.message.show() 




func displayAlert 
{ 
    self.message.dismissWithClickedButtonIndex(0,animated: true) 

    } 
0

對於顯示彈出每隔30秒後,你應該用30秒的時間間隔使用的NSTimer。每隔30秒後,在初始化NSTimer時調用選擇器(如showPopUp)方法。在這個showPopUp中你應該顯示彈出窗口,你可以使用UIAlertController並添加它。

以上所有實現都應在Appdelegate.m中完成

相關問題