UIActionsheet 的取消按钮问题

来源:互联网 发布:md4hash算法 编辑:程序博客网 时间:2024/05/21 09:35

使用 UIActionsheet 的时候,如果otherButton太多的话,取消按钮会排版到最下面,如果otherButton很少的话,取消按钮又排版在上面。

这样点击按钮时我们收到的按钮index 不是很确定。



所以干脆就让取消按钮一直在下面。


代码如下:


// 创建时不指定按钮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;}}}