您的位置:首页 > 产品设计 > UI/UE

iOS界面编程-UIActionSheet

2015-10-09 22:38 441 查看
UIActionSheet
一、介绍
   UIActionSheet在ios8之后就被弃用了,在ios8及以后的版本中,推荐使用UIAlertController并指定preferredStyle为 UIAlertControllerStyleActionSheet.我们可以使用UIActionSheet去提醒用户去处理给定的任务,也可以使用动作列表去提醒用户去确认一个潜在的危险动作。动作列表包含选择的标题以及一个或者多个按钮,

二、相关属性及方法
- (instancetype)initWithTitle:(nullable
NSString *)title delegate:(nullable
id<UIActionSheetDelegate>)delegate cancelButtonTitle:(nullable
NSString *)cancelButtonTitle destructiveButtonTitle:(nullable
NSString *)destructiveButtonTitle otherButtonTitles:(nullable
NSString *)otherButtonTitles, ... 

@property(nullable,nonatomic,weak)
id<UIActionSheetDelegate> delegate;
@property(nonatomic,copy)
NSString *title;
@property(nonatomic)
UIActionSheetStyle actionSheetStyle;
// default is UIActionSheetStyleAutomatic. ignored if alert is visible

- (NSInteger)addButtonWithTitle:(nullable
NSString *)title;    // returns index of button. 0 based.
- (nullable
NSString *)buttonTitleAtIndex:(NSInteger)buttonIndex;
@property(nonatomic,readonly)
NSInteger numberOfButtons;
@property(nonatomic)
NSInteger cancelButtonIndex;     
// if the delegate does not implement -actionSheetCancel:, we pretend this button was clicked on. default is -1
@property(nonatomic)
NSInteger destructiveButtonIndex;       
// sets destructive (red) button. -1 means none set. default is -1. ignored if only one button
@property(nonatomic,readonly)
NSInteger firstOtherButtonIndex;
// -1 if no otherButtonTitles or initWithTitle:... not used
@property(nonatomic,readonly,getter=isVisible)
BOOL visible;

// show a sheet animated. you can specify either a toolbar, a tab bar, a bar button item or a plain view. We do a special animation if the sheet rises from
// a toolbar, tab bar or bar button item and we will automatically select the correct style based on the bar style. if not from a bar, we use
// UIActionSheetStyleDefault if automatic style set
- (void)showFromToolbar:(UIToolbar *)view;
- (void)showFromTabBar:(UITabBar *)view;
- (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;

// hides alert sheet or popup. use this method when you need to explicitly dismiss the alert.
// it does not need to be called if the user presses on a button
- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated;
三、实际例子

-(void)showActionButtonClicked:(id)sender{
UIActionSheet *testAction = [ [UIActionSheet alloc]initWithTitle:@"测试中" delegate:self cancelButtonTitle:@"cancle" destructiveButtonTitle:@"destructor" otherButtonTitles:@"sr", nil];
[testAction showInView:self.view];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息