iOS-UIKit框架学习—UIActionSheet 发表于 2017-02-06 | 分类于 iOS | | 阅读次数: 使用UIActionSheet类可以把一套如何继续给定任务的替代品给用户。您还可以使用行动表,以提示用户确认是否有潜在危险的行动。该行动表包含一个可选的标题和一个或多个按钮,其中每个对应采取的行动。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263@protocol UIActionSheetDelegate;// iOS 2.0 - iOS 8.3可用 使用UIAlertController顶替NS_CLASS_DEPRECATED_IOS(2_0, 8_3, "UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead") __TVOS_PROHIBITED@interface UIActionSheet : UIView// 初始化设置标题、代理、操作按钮- (instancetype)initWithTitle:(nullable NSString *)title delegate:(nullable id<UIActionSheetDelegate>)delegate cancelButtonTitle:(nullable NSString *)cancelButtonTitle destructiveButtonTitle:(nullable NSString *)destructiveButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION NS_EXTENSION_UNAVAILABLE_IOS("Use UIAlertController instead.");// 代理@property(nullable,nonatomic,weak) id<UIActionSheetDelegate> delegate;// 标题属性@property(nonatomic,copy) NSString *title;// 操作栏的风格@property(nonatomic) UIActionSheetStyle actionSheetStyle; // default is UIActionSheetStyleAutomatic.// 在操作栏中添加自定义按钮- (NSInteger)addButtonWithTitle:(nullable NSString *)title;// 返回指定索引按钮的标题- (nullable NSString *)buttonTitleAtIndex:(NSInteger)buttonIndex;// 操作栏的按钮数@property(nonatomic,readonly) NSInteger numberOfButtons;// 取消按钮的下标@property(nonatomic) NSInteger cancelButtonIndex;// 破坏那妞的下标@property(nonatomic) NSInteger destructiveButtonIndex;// 第一个更多按钮的下标@property(nonatomic,readonly) NSInteger firstOtherButtonIndex;// 接收器是否显示@property(nonatomic,readonly,getter=isVisible) BOOL visible;// 显示一个来自指定工具栏的操作栏- (void)showFromToolbar:(UIToolbar *)view;// 显示一个来自指定标签栏的操作栏- (void)showFromTabBar:(UITabBar *)view;// 显示一个来自指定BarButtonItem的操作栏- (void)showFromBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated NS_AVAILABLE_IOS(3_2);// 显示一个来自指定矩形的操作栏- (void)showFromRect:(CGRect)rect inView:(UIView *)view animated:(BOOL)animated NS_AVAILABLE_IOS(3_2);// 显示一个来自指定视图的操作栏- (void)showInView:(UIView *)view;// 隐藏弹出框- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated;@end__TVOS_PROHIBITED@protocol UIActionSheetDelegate <NSObject>@optional// 点击按钮操作调用- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex NS_DEPRECATED_IOS(2_0, 8_3) __TVOS_PROHIBITED;// 点击取消操作按钮调用- (void)actionSheetCancel:(UIActionSheet *)actionSheet NS_DEPRECATED_IOS(2_0, 8_3) __TVOS_PROHIBITED;// 即将弹出操作栏之前调用- (void)willPresentActionSheet:(UIActionSheet *)actionSheet NS_DEPRECATED_IOS(2_0, 8_3)__TVOS_PROHIBITED;// 操作栏弹出后调用- (void)didPresentActionSheet:(UIActionSheet *)actionSheet NS_DEPRECATED_IOS(2_0, 8_3) __TVOS_PROHIBITED;// 操作后将要隐藏的操作栏时调用- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex NS_DEPRECATED_IOS(2_0, 8_3) __TVOS_PROHIBITED;// 操作栏隐藏完成后调用- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex NS_DEPRECATED_IOS(2_0, 8_3) __TVOS_PROHIBITED; // after animation@end 1234567// 操作栏风格typedef NS_ENUM(NSInteger, UIActionSheetStyle) {UIActionSheetStyleAutomatic = -1, // take appearance from toolbar style otherwise uses 'default'UIActionSheetStyleDefault = UIBarStyleDefault, // 默认UIActionSheetStyleBlackTranslucent = UIBarStyleBlackTranslucent, // 半透明黑色UIActionSheetStyleBlackOpaque = UIBarStyleBlackOpaque , // 不透明黑色} __TVOS_PROHIBITED;