我的iphone应用程序中有一个动作表弹出窗口。我想用数组中的字符串填充它而不是预定值。
我在网上找不到任何东西!也许动作表不适合使用?
现在我正在使用它来构建它:
roomspopup = [ [ UIActionSheet alloc ]
initWithTitle: alertname
delegate: self
cancelButtonTitle: @"Cancel"
destructiveButtonTitle: nil
otherButtonTitles: @"Kitchen", "Dining Room", nil ];
但是,我不想用“厨房”和“餐厅”来填充数组。阵列的大小(即房间数)不是固定的数字。
答案 0 :(得分:14)
@JimTrell
解决这个问题的方法是在没有取消按钮的情况下初始化UIActionSheet,并在添加其他按钮后添加此取消按钮。
首先使用一堆nil来初始化工作表:
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Choose"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
然后使用addButtonWithTitle:
循环遍历数组,最后添加取消按钮并设置其索引:
[actionSheet addButtonWithTitle:@"Cancel"];
[actionSheet setCancelButtonIndex:[yourArray count]];
答案 1 :(得分:7)
你不能在一行中完成。您必须使用一组空按钮调用initWithTitle
,然后使用addButtonWithTitle:
将其他按钮添加到循环中。
答案 2 :(得分:0)
我可以使用以下代码在底部设置取消按钮:
anActionSheet = [[UIActionSheet alloc] initWithTitle:@"Change A/C" delegate:self
cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil, nil];
for (int i = 0; i < [arraylist count]; i++)
[anActionSheet addButtonWithTitle:[arraylist objectAtIndex:i]];
anActionSheet.cancelButtonIndex = [arraylist count];
[anActionSheet addButtonWithTitle:@"Cancel"];