Ankit Kr.Vishwakarma
Ankit Kr.Vishwakarma

Reputation: 128

How can i present uiview (xib) as alert view in swift

I want to present the my xib as the alert view. In the xib main view is going to be semi-transparent, which will prevent users from tapping on anything else in the background while the alert view is up. I am not using the view controller in xib.

Upvotes: 6

Views: 6367

Answers (1)

Vishnuvardhan
Vishnuvardhan

Reputation: 5107

1.Fetch the XIB file object.

let alert = NSBundle.mainBundle().loadNibNamed("Alert", owner: self, options: nil).last as! UIView     

2.Compose the convenience methods.

static func showAlert() {
    let windows = UIApplication.sharedApplication().windows
    let lastWindow = windows.last
    alert.frame = UIScreen.mainScreen().bounds
    lastWindow?.addSubview(alert)
}

static func removeAlert() {
    alert.removeFromSuperview()
}

3.Call the methods.

//showing alert
ClassName.showAlert()

//remove alert
ClassName.removeAlert()

Upvotes: 8

Related Questions