I have a Swift Cocoa application that segues a view from a menu item. When i create the segue from the interface builder, the options are: show, modal and custom.
However when i create the segue from a button, more options appear: sheet, popover, show, custom, modal
I need to create a sheet segue from that menu item. Am i missing something? or just these extra options are disabled from a menu item
As others have said, a menu item can't perform a segue that relies on any attachment to a window. Unfortunately there are cases where you DO want to trigger a "sheet" segue from a menu item. As an example, Xcode itself does this. The + at the far bottom left of an Xcode window will open a three-item menu, all of which perform a "sheet" segue.
One option is to define the segue between the two storyboard scenes, give the segue an Identifier, and then perform the segue programmatically.
click on your first scene, and look for the View Controller icon in the scene's header. It's a blue circle containing a white square.
control-drag from that View Controller icon over onto the second scene (the one you want to show in the sheet). A segue should be created between the two scenes. This segue will offer the full range of segue kinds, including "Sheet".
select the new segue and show the attributes inspector. Give the segue an Identifier e.g. "ShowEditView"
Trigger the segue manually. As a simple test, drag a button onto scene one, and connect it up to your scene one view controller:
@IBAction func wasClicked(sender: AnyObject) {
print("Test button was clicked.")
self.performSegueWithIdentifier("ShowEditView", sender: self)
}