2016-11-18 180 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中完成

相关问题