Custom Action controller, Swift
Here is an example:
@IBAction func show() {
let actionSheet = UIAlertController(title: "\n\n\n\n\n\n", message: nil, preferredStyle: .ActionSheet)
let view = UIView(frame: CGRect(x: 8.0, y: 8.0, width: actionSheet.view.bounds.size.width - 8.0 * 4.5, height: 120.0))
view.backgroundColor = UIColor.greenColor()
actionSheet.view.addSubview(view)
actionSheet.addAction(UIAlertAction(title: "Add to a Playlist", style: .Default, handler: nil))
actionSheet.addAction(UIAlertAction(title: "Create Playlist", style: .Default, handler: nil))
actionSheet.addAction(UIAlertAction(title: "Remove from this Playlist", style: .Default, handler: nil))
actionSheet.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil))
presentViewController(actionSheet, animated: true, completion: nil)
}
If you're ok with deviating from the UIKit
components, I have created a library for custom action sheets. It's written in Swift and lets you create custom sheets with several built-in item types. It can be extended and restyled as well.