2016-09-29 3 views
2

** Я разработал свой собственный вид с текстом и изображениями.Ios Swift: Popup Пользовательский вид в виде окна оповещения

Я хочу представить это в качестве предупреждения просматривать или просто отображать в окне

Как использовать .modalPresentationStyle в .custom и добиться этого

Должен ли я использовать ViewController или просто отобразить вид непосредственно

@IBAction func BtnClickFnc(sender: AnyObject) 
{ 
    let MsgBoxVar = MsgBoxCls() 
    MsgBoxVar.modalPresentationStyle = .Custom 
    MsgBoxVar.preferredContentSize = CGSizeMake(200, 400) 
    self.presentViewController(MsgBoxVar, animated: true, completion: nil) 

}

class MsgBoxCls: UIViewController 
{ 
    override func viewDidLoad() 
    { 
     view.addSubview(NamVyuCls(frame: CGRectMake(50,50,200,200))) 
    } 
} 


class NamVyuCls: UIView 
{ 
    override public init(frame: CGRect) 
    { 
     super.init(frame: frame) 

     layer.borderWidth = 2 
     layer.borderColor = UIColor.darkGrayColor().CGColor 
     layer.cornerRadius = 10 

     // Code Todo 
    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 
} 

ответ

4
var BgdVyuVar: UIView! 
var NamVyuVar: NamVyuCls! 

@IBAction func BtnKlkFnc(sender: AnyObject) 
{ 
    BgdVyuVar = UIView(frame: view.frame) 
    BgdVyuVar.backgroundColor = UIColor(red: 255/255, green: 255/255, blue: 225/255, alpha: 0.5) 
    BgdVyuVar.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.DsmVyuFnc))) 
    self.view.addSubview(BgdVyuVar) 

    NamVyuVar = NamVyuCls() 
    NamVyuVar.frame = CGRectMake(self.view.frame.width/2 - 100,self.view.frame.height/2 - 100,200,200) 
    self.view.addSubview(NamVyuVar) 

    UIView.animateWithDuration(0.5, delay: 0.1, options: .TransitionNone, 
     animations: 
     { 
      self.view.bringSubviewToFront(self.NamVyuVar) 
     }, 
     completion: nil) 
} 

func DsmVyuFnc() 
{ 
    BgdVyuVar.removeFromSuperview() 
    NamVyuVar.removeFromSuperview() 
} 
+0

Ур идеи работает частично, я хочу, чтобы он пришел в центр, а серость региона за пределами и отключить все остальное, как popover. Также он отключается, когда я выхожу за пределы alertView. –

+0

Чтобы вырезать и отключить фон, создайте UIView. Установите цвет фона в черный цвет и установите для альфа-свойства значение 0,7 и установите его рамку в рамку основного представления. При отображении alertView добавьте этот UIView в качестве подзаголовка в ваш mainView. Чтобы выйти, когда вы нажмете на улицу, добавьте UITapGestureRecognizer к вновь созданному виду размытия backGround. На жесте крана удалите вид предупреждения –

+0

Да, спасибо, что это сработало –

Смежные вопросы