2016-03-24 3 views
0

хорошо я хочу создать кнопку уведомления, когда пользователь нажимает она покажет ему ViewController или что-токак я могу загрузить ViewController вместо XIb файла

я нашел эту библиотеку

https://github.com/lucaslt89/PopupContainer

главная проблема что вы можете реализовать из файла nib файла xib и только UIView

можно загрузить с контроллера из Main Storyboard?

это код

@IBAction func showFromXibButtonPressed(sender: AnyObject) { 
    let xibView = NSBundle.mainBundle().loadNibNamed("XibPopup", owner: nil, options: nil)[0] as! XibPopup 
    PopupContainer.generatePopupWithView(xibView).show() 
} 

ответ

2

Вы можете сделать это, передавая вид ViewController, который вы можете получить от раскадровки.

Пример

@IBAction func showFromXibButtonPressed(sender: AnyObject) { 
    let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil) 
    let vc = storyboard.instantiateViewControllerWithIdentifier("myViewController") as! UIViewController 
    PopupContainer.generatePopupWithView(vc.view).show() 
} 

Назначьте правильный ViewController идентификатор в раскадровке и обновить то же самое в коде с правильным именем storybaord

Обновленный код согласно требованию вопроса, проверяя формат Хантера

+0

вы что-то знаете, вы coooool! спасибо: $ –

1

Предполагая, что ваша раскадровка называется «Главная», и у вас есть контроллер начального вида, это будет загружать представление с этого контроллера:

@IBAction func showFromXibButtonPressed(sender: AnyObject) { 
    let controller = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController() 
    PopupContainer.generatePopupWithView(controller!.view).show() 
} 

Примечание. Было бы лучше всего изменить имя IBAction на showFromViewControllerButtonPressed, но указанное выше имя будет работать.

+0

Нет проблем homie –

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