Custom Action controller, Swift

独自空忆成欢 提交于 2019-12-09 06:04:37

问题


Does anyone know how I can code up this custom alert controller (The top area especially) - currently found on the Apple music App. Maybe there is a known library that can do it.

I am aware this is how you an action controller is coded?

let alertController = UIAlertController(title: nil, message: "Top Message Here", preferredStyle: .ActionSheet)


        let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { (action) in
            // Drop View Pop up

        }

        alertController.addAction(cancelAction)

        let action1 = UIAlertAction(title: "Action Title", style: .Default) { (action) in

            //Code to Execute

        }

        alertController.addAction(action1)
        self.presentViewController(alertController, animated: true) {
            // ...

        }


回答1:


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)
}



回答2:


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.



来源:https://stackoverflow.com/questions/35504064/custom-action-controller-swift

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!