我正在尝试在我的 UIAlertView 中添加一个 UITableView 并且它没有显示出来。我只看到标题和消息以及警报视图上的“确定”按钮。
下面是我的代码,我在 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;
}