UIActionSheet -- 发现Cancle按钮会出现在其他按钮上头解决方法

UIActionSheet -- 发现Cancle按钮会出现在其他按钮上头解决方法

// 创建时不指定按钮  
    UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Dynamic UIActionSheet"   delegate:self  
                                              cancelButtonTitle:nil  
                                         destructiveButtonTitle:nil  
                                              otherButtonTitles:nil];  
    // 逐个添加按钮(比如可以是数组循环)  
    [sheet addButtonWithTitle:@"Item A"];  
    [sheet addButtonWithTitle:@"Item B"];  
    [sheet addButtonWithTitle:@"Item C"];  
      
    // 同时添加一个取消按钮  
    [sheet addButtonWithTitle:@"Cancel"];  
    // 将取消按钮的index设置成我们刚添加的那个按钮,这样在delegate中就可以知道是那个按钮  
    sheet.cancelButtonIndex = sheet.numberOfButtons-1;  
    [sheet showFromRect:view.bounds inView:view animated:YES];  
    [sheet release];
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex  
{  
    //取消
    if (buttonIndex == actionSheet.cancelButtonIndex)  
    { return; }  
    switch (buttonIndex)  
    {  
        case 0: {  
            NSLog(@"Item A Selected");  
            break;  
        }  
        case 1: {  
            NSLog(@"Item B Selected");  
            break;  
        }  
        case 2: {  
            NSLog(@"Item C Selected");  
            break;  
        }  
    }  
}

你可能感兴趣的:(Objective-C)