gpt4 book ai didi

ios - 我们如何在 UIAlertView 中显示表格 View

转载 作者:行者123 更新时间:2023-11-28 19:07:27 24 4
gpt4 key购买 nike

我正在尝试在我的 UIAlertView 中添加一个 UITableView,但它没有显示。我只在 alertview 上看到标题和消息以及“确定”按钮。

下面是我的代码,我在 iOS 7 上运行。

- (void)showDataReceivedAlert {

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Received Data" message:@"\n\n\n\n\n\n\n\n\n\n\n\n" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

UITableView *table = [[UITableView alloc]initWithFrame:CGRectMake(10, 40, 264, 120)];
table.delegate = self;
table.dataSource = self;
table.backgroundColor = [UIColor clearColor];
[alert addSubview:table];
[alert show];
}


- (NSInteger)tableView:(UITableView *)iTableView numberOfRowsInSection:(NSInteger)iSection {
return 6;
}


- (UITableViewCell *)tableView:(UITableView *)iTableView cellForRowAtIndexPath:(NSIndexPath *)iIndexPath {
static NSString *identifier = @"iBeaconDataCell";
UITableViewCell *cell = [iTableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.accessoryType = UITableViewCellAccessoryNone;
}

NSString *cellText;
NSString *cellLabelText;

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSData *encodedObject = [userDefaults objectForKey:@"data"];
MyObj *myData = (MyObj *)[NSKeyedUnarchiver unarchiveObjectWithData:encodedObject];

switch (iIndexPath.row) {
case 0:
cellText = @"Data 1";
cellLabelText = [NSString stringWithFormat:@"%d", myData.data1];
break;
case 1:
cellText = @"Data 2";
cellLabelText = [NSString stringWithFormat:@"%d", myData.data2];
break;
case 2:
cellText = @"Data 3";
cellLabelText = [NSString stringWithFormat:@"%d", myData.data3];
break;
case 3:
cellText = @"Data 4";
cellLabelText = [NSString stringWithFormat:@"%d", myData.data4];
break;
case 4:
cellText = @"Data 5";
cellLabelText = [NSString stringWithFormat:@"%f", myData.data5];
break;
case 5:
cellText = @"Data 6";
cellLabelText = myData.data6;
break;

default:
break;
}

cell.textLabel.text = cellText;

UILabel *cellLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 150.0, 44.0)];
cellLabel.text = cellLabelText;
cell.accessoryView = cellLabel;

return cell;
}

最佳答案

默认警报并不意味着采用 subview 。(在 ios6 和更早版本中添加。 subview 可能被黑客入侵,这在 iOS7 中不起作用)

编写您自己的自定义 UIView,其外观和行为都像警报。

如果你不想自己做的话,有很多实现:)例如在 cocoacontrols.com 上

关于ios - 我们如何在 UIAlertView 中显示表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com