Xcode 在 UITableRowSelection 之后显示 UIAlertView?

Posted

技术标签:

【中文标题】Xcode 在 UITableRowSelection 之后显示 UIAlertView?【英文标题】:Xcode show UIAlertView after UITableRowSelection? 【发布时间】:2012-10-10 20:10:37 【问题描述】:

这是我的第一个问题,如果有问题请见谅

我正在尝试创建一个视图,我可以在其中从表格视图中选择一个朋友,然后它应该在 UIAlertView 上显示数字和邮件,但我不知道该怎么做 好友列表是从我网站上的 xml 文件中获取的,然后被解析并显示在具有自定义单元格设计的表格上

这是创建每个单元格的代码

- (UITableViewCell *)tableView:(UITableView *)myTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    UITableViewCell *cell = (UITableViewCell *)[self.messageList dequeueReusableCellWithIdentifier:@"ContactListItem"];
    if (cell == nil) 
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ContactListItem" owner:self options:nil];
        cell = (UITableViewCell *)[nib objectAtIndex:0];
    

    NSDictionary *itemAtIndex = (NSDictionary *)[messages objectAtIndex:indexPath.row];
    UILabel *userLabel = (UILabel *)[cell viewWithTag:2];
    userLabel.text = [itemAtIndex objectForKey:@"user"];

    return cell;

谢谢 圣地亚哥

【问题讨论】:

Xcode 本身不能显示 UIAlertViews。您应该 将此问题标记为 Xcode - 在您的观点中,如果您使用 gcc 并直接 make... 【参考方案1】:

你必须实现didSelectRowAtIndexPath:方法。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
  NSDictionary *itemAtIndex = (NSDictionary *)[messages objectAtIndex:indexPath.row];
  NSString *name = [itemAtIndex objectForKey:@"user"];
  NSString *email = [itemAtIndex objectForKey:@"email"];
  NSString *phone = [itemAtIndex objectForKey:@"phone"];
  NSString *messageStr = [NSString stringWithFormat:@"Email : %@\nPhone : %@", email, phone];

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:name message:messageStr delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
  [alert show];   
  [tableView deselectRowAtIndexPath:indexPath animated:YES];

【讨论】:

【参考方案2】:

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath 是您需要实现的方法。这是假设您在其中呈现表格视图的视图是表格视图的委托。

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

     //Alert view logic happens here getting all the cell information

【讨论】:

以上是关于Xcode 在 UITableRowSelection 之后显示 UIAlertView?的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 13 和 Xcode 12 中使用 previewCGImageRepresentation?

Xcode 4 不允许我打开在 Xcode 5 中编辑的情节提要

在 Xcode 8.2.1 中创建 Xcode 项目模板

Xcode 5 可以打开我的项目,但 Xcode 6 在尝试打开时崩溃

在安装 Xcode 10 GM 之前卸载 Xcode 9.4.1?

在 Xcode 4.2 上打开 Xcode 4.5 项目时出错