UI里的UIActionSheet按钮

1.效果图:分别为有短信分享                                      无短信分享

UI里的UIActionSheet按钮UI里的UIActionSheet按钮

 

复制代码
-(void)viewDidLoad{

    //添加按钮

    UIButton *shareButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];

    [shareButton setBackgroundColor:[UIColor redColor]];

    [shareButton addTarget:self action:@selector(shareButtonPressed) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:shareButton];

}



//点击触发分享按钮

-(void)shareButtonPressed{

    [(id)self showActionSheetWeibo:NO];//无短信分享功能



    [(id)self showActionSheetWeibo:YES];//有短信分享功能

}



- (void)showActionSheetWeibo:(BOOL)ishaveMail {

    

    UIActionSheet *actionSheet;

    if (ishaveMail == YES) {

        actionSheet = [[UIActionSheet alloc]initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"分享到新浪微博", @"分享到腾讯微博",@"短信分享", nil];    

        actionSheet.tag = 99;

    }else {

        actionSheet = [[UIActionSheet alloc]initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"dd" otherButtonTitles:@"分享到新浪微博", @"分享到腾讯微博", nil]; //destructiveButtonTitle被红色高亮显示

        actionSheet.tag = 101;



    }

    [actionSheet showFromRect:self.view.bounds inView:self.view animated:YES]; 

//    [actionSheet showInView:self.view];  //显示操作表单

    [actionSheet release];

}



#pragma mark ActionSheet Delegate Methods

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {  

    NSLog(@"clickedButtonAtIndex:%d",buttonIndex); 
//其实如果有dextructiveButtonTitle的话,这个所对应的按钮才是编号为0 if (buttonIndex==0) { //新浪微博分享 NSLog(@"新浪微博"); /*点击触发代码*/ }else if(buttonIndex==1) { //腾讯微博分享 NSLog(@"腾讯微博"); /*点击触发代码*/ }else if(actionSheet.tag==99&&buttonIndex==2){ NSLog(@"短信分享"); //发送短信 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://"]]; } }
复制代码

 

2.。直接按钮触发:

复制代码
通过按键触发buttonPressed

 

- (IBAction)buttonPressed:(id)sender {

    UIActionSheet *actionSheet = [[UIActionSheet alloc]

                                  initWithTitle:@"Are you sure?"

                                  delegate:self

                                  cancelButtonTitle:@"No Way!"     //取消

                                  destructiveButtonTitle:@"Yes, I’m Sure!"    //继续

                                  otherButtonTitles:nil];   //其他按钮,若没则nil

    [actionSheet showInView:self.view];   //显示自己

    



}



- (void)actionSheet:(UIActionSheet *)actionSheet

didDismissWithButtonIndex:(NSInteger)buttonIndex

{

    if (buttonIndex != [actionSheet cancelButtonIndex])

    {

        NSString *msg = nil;

        

        if (nameField.text.length > 0)

            msg = [[NSString alloc] initWithFormat:

                   @"You can breathe easy, %@, everything went OK.",

                   nameField.text];

        else

            msg = @"You can breathe easy, everything went OK.";

    }

}
复制代码

 

 

自定义ActionSheet:效果图如下:

UI里的UIActionSheet按钮背景颜色可以自定义,按钮也可以

复制代码
//点击触发:

-(void)btnPressed{

    actionSheet =[[UIActionSheet alloc]initWithTitle:@"\n\n\n\n\n\n\n\n\n\n\n\n\n" //为后面自己增加的view空出空间

                               delegate:self 

                      cancelButtonTitle:@"cancel"

                 destructiveButtonTitle:nil

                      otherButtonTitles:nil];

//    [actionSheet addButtonWithTitle:@"登陆注册"];

//    [actionSheet addButtonWithTitle:@"手机快速下单"];

//    [actionSheet addButtonWithTitle:@"取消"];

    [actionSheet showInView:self.view];

//    [actionSheet setActionSheetStyle:UIActionSheetStyleBlackOpaque];

    

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];

    view.backgroundColor = [UIColor greenColor];

    [actionSheet addSubview:view];

    

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    btn.frame = CGRectMake(30, 30, 100, 30);

    btn.tag = 1001;

    [view addSubview:btn];

    [btn addTarget:self action:@selector(exitButtonClick:) forControlEvents:UIControlEventTouchUpInside];

    

    UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    btn2.frame = CGRectMake(30, 70, 100, 30);

    btn2.tag = 1002;

    [view addSubview:btn2];

    [btn2 addTarget:self action:@selector(exitButtonClick:) forControlEvents:UIControlEventTouchUpInside];

    

    [actionSheet release];

}

//点击自己建按钮触发

-(void)exitButtonClick:(UIButton *)sender{

    NSLog(@"%d",sender.tag);

    

    [actionSheet dismissWithClickedButtonIndex:sender.tag animated:YES];

}

//点击系统按钮触发

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{

    NSLog(@"click %d",buttonIndex);

}



- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{

    NSLog(@"dismis %d",buttonIndex);

}
复制代码

 

你可能感兴趣的:(action)