Create UIActionSheet 'otherButtons' by passing in array, not varlist

前端 未结 4 801
太阳男子
太阳男子 2020-12-22 22:20

I have an array of strings that I want to use for button titles on a UIActionSheet. Unfortunately, the otherButtonTitles: argument in the method invocation takes a variable

4条回答
  •  萌比男神i
    2020-12-22 22:49

    Taking Jaba's and Nick's answers and extending them a little further. To incorporate a destruction button into this solution:

    // Create action sheet
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:title
                                                             delegate:self
                                                    cancelButtonTitle:nil
                                               destructiveButtonTitle:nil
                                                    otherButtonTitles:nil];
    // Action Buttons
    for (NSString *actionName in actionNames){
        [actionSheet addButtonWithTitle: actionName];
    }
    
    // Destruction Button
    if (destructiveName.length > 0){
        [actionSheet setDestructiveButtonIndex:[actionSheet addButtonWithTitle: destructiveName]];
    }
    
    // Cancel Button
    [actionSheet setCancelButtonIndex: [actionSheet addButtonWithTitle:@"Cancel"]];
    
    // Present Action Sheet
    [actionSheet showInView: self.view];
    

提交回复
热议问题