前面咱們學習了 iOS 中得第一個提示性控件 UIAlertView, 如今咱們把第二個提示性控件也學完.php
// 1.設置 UIActionSheet 的代理對象
var delegate: UIActionSheetDelegate?
// 2.設置 UIActionSheet 的標題
var title: String
// 3.設置 UIActionSheet 的樣式
var actionSheetStyle: UIActionSheetStyle
// 4.讀取 UIActionSheet 裏有多少個按鈕
var numberOfButtons: Int { get }
// 5.設置 UIActionSheet 取消按鈕的索引
var cancelButtonIndex: Int
// 6.設置其餘按鈕的索引
var destructiveButtonIndex: Int
// 7.讀取 UIActionSheet 其餘按鈕的索引值
var firstOtherButtonIndex: Int { get }
// 8.讀取 UIActionSheet 是否可見
var visible: Bool { get }
// 1.該方法是用來添加 UIActionSheet 的按鈕標題
func addButtonWithTitle(title: String) -> Int
// 2.該方法是用來設置 UIActionSheet 的按鈕索引
func buttonTitleAtIndex(buttonIndex: Int) -> String
// 3.該方法是來用設置 UIActionSheet 顯示到 ToolBar
func showFromToolbar(view: UIToolbar!)
// 4.該方法是用來設置 UIActionSheet 顯示到 TabBar
func showFromTabBar(view: UITabBar!)
// 5.該方法是用來設置來自 UIBarButtonItem 的 UIActionSheet, 而且是否開啓動畫效果
func showFromBarButtonItem(item: UIBarButtonItem!, animated: Bool)
// 6.該方法是用來設置 UIActionSheet 的顯示的視圖大小, 以及指定視圖和是否開啓動畫效果
func showFromRect(rect: CGRect, inView view: UIView!, animated: Bool)
// 7.該方法是用來設置 UIActionSheet 顯示到哪個視圖
func showInView(view: UIView!)
// 8.該方法是用來設置 UIActionSheet 消失的按鈕索引, 以及是否使用動畫
func dismissWithClickedButtonIndex(buttonIndex: Int, animated: Bool)
3.UIActionSheet的代理方法css
// 1.該方法是在 UIActionSheet 上的按鈕被點擊時調用的
optional func actionSheet(actionSheet: UIActionSheet, clickedButtonAtIndex buttonIndex: Int)
// 2.該方法是在 UIActionSheet 上的點擊了取消按鈕時調用的
optional func actionSheetCancel(actionSheet: UIActionSheet)
// 3.該方法是在 UIActionSheet 徹底即將顯示的時候調用的
optional func willPresentActionSheet(actionSheet: UIActionSheet)
// 4.該方法是在 UIActionSheet 徹底顯示的時候調用的
optional func didPresentActionSheet(actionSheet: UIActionSheet)
// 5.該方法是在 UIActionSheet 徹底即將消失的時候調用的
optional func actionSheet(actionSheet: UIActionSheet, willDismissWithButtonIndex buttonIndex: Int)
// 6.該方法是在 UIActionSheet 徹底消失的時候調用的
optional func actionSheet(actionSheet: UIActionSheet, didDismissWithButtonIndex buttonIndex: Int)
首先遵照代理協議ruby
class ViewController: UIViewController, UIActionSheetDelegate {}
自定義UIButton而且監聽 ActionSheet 方法markdown
func myButton() {
var button: UIButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton
button.frame = CGRectMake(100, 200, 50, 20)
button.setTitle("彈窗", forState: UIControlState.Normal)
button.backgroundColor = UIColor.redColor()
button.addTarget(self, action: "myActionSheet", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button)
}
自定義UIActionSheetide
func myActionSheet() {
// 1.自定義 UIActionSheet, 而且設置標題, 代理對象, 以及按鈕的標題
var actionSheet = UIActionSheet(title: "UIActionSheet", delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: "按鈕一")
// 2.設置 UIActionSheet 的樣式
actionSheet.actionSheetStyle = UIActionSheetStyle.Default
// 3.設置取消按鈕的索引
actionSheet.cancelButtonIndex = 1
// 4.設置destructive的索引值
actionSheet.destructiveButtonIndex = 0
// 5.添加其餘按鈕的標題
actionSheet.addButtonWithTitle("按鈕二")
// 6.設置按鈕標題的索引
actionSheet.buttonTitleAtIndex(1)
// 7.顯示到 self.view 上
actionSheet.showInView(self.view)
}
實現UIActionSheet代理方法學習
// 1.該方法是在 UIActionSheet 上的按鈕被點擊時調用的
func actionSheet(actionSheet: UIActionSheet, clickedButtonAtIndex buttonIndex: Int) {
println("被點擊了")
}
// 2.該方法是在 UIActionSheet 上的點擊了取消按鈕時調用的
func actionSheetCancel(actionSheet: UIActionSheet) {
println("點擊了取消按鈕")
}
// 3.該方法是在 UIActionSheet 徹底即將顯示的時候調用的
func willPresentActionSheet(actionSheet: UIActionSheet) {
println("UIActionSheet即將顯示")
}
// 4.該方法是在 UIActionSheet 徹底顯示的時候調用的
func didPresentActionSheet(actionSheet: UIActionSheet) {
println("UIActionSheet徹底顯示")
}
// 5.該方法是在 UIActionSheet 徹底即將消失的時候調用的
func actionSheet(actionSheet: UIActionSheet, willDismissWithButtonIndex buttonIndex: Int) {
println("UIActionSheet即將消失")
}
// 6.該方法是在 UIActionSheet 徹底消失的時候調用的
func actionSheet(actionSheet: UIActionSheet, didDismissWithButtonIndex buttonIndex: Int) {
println("UIActionSheet徹底消失")
}
在viewDidLoad實現動畫
override func viewDidLoad() {
super.viewDidLoad()
self.myButton()
}
PS: UIActionSheet 是繼承於UIView 的,因此 UIView 裏的方法和屬性 UIActionSheet 都是能夠使用的.ui
好了, 此次咱們就講到這裏, 下次咱們繼續spa