Ios UIBubbleTableView中的图像

Ios UIBubbleTableView中的图像,ios,objective-c,xcode,storyboard,Ios,Objective C,Xcode,Storyboard,我正在制作一个iOS聊天应用程序。我使用UIBubbleTableView来显示文本和图像 现在,我希望图像可以点击,它将移动到另一个视图(人们可以看到它的全尺寸)。但是UIBubbleTableView似乎不支持它,那么我如何修复它呢 以下是我在viewDidLoad中的代码: - (void)viewDidLoad { //Something here// [super viewDidLoad]; NSBubbleData *photoBubble = [NSBubb

我正在制作一个iOS聊天应用程序。我使用
UIBubbleTableView
来显示文本和图像

现在,我希望图像可以点击,它将移动到另一个视图(人们可以看到它的全尺寸)。但是
UIBubbleTableView
似乎不支持它,那么我如何修复它呢

以下是我在viewDidLoad中的代码:

- (void)viewDidLoad
{
    //Something here//
    [super viewDidLoad];
    NSBubbleData *photoBubble = [NSBubbleData dataWithImage:[UIImage         
    imageNamed:@"halloween.jpg"] date:[NSDate dateWithTimeIntervalSinceNow:-290]     
    type:BubbleTypeSomeoneElse];
    //something else here//
}

使用这些代码,它只显示图像。

我知道这不是推荐的或理想的方法,但这是我目前所做的。当我找到一个好的方法时,我可能会回到它并“正确地”做它

对于每个NSBubbleData对象,我在其视图中添加一个触摸手势。当用户触摸时,将调用
touchEventOnImage:
方法。从sender,您可以获得手势识别器,其视图是NSBubbleData设置的UIImageView视图。您可以全屏显示此图像

这是我使用的代码:

- (void)addTouchGestureToBubble:(NSBubbleData *)oBubbleData
{
    UITapGestureRecognizer * tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(touchEventOnImage:)];
    [tapRecognizer setNumberOfTouchesRequired:1];
    //Don't forget to set the userInteractionEnabled to YES, by default It's NO.
    oBubbleData.view.userInteractionEnabled = YES;
    [oBubbleData.view addGestureRecognizer:tapRecognizer];
}

- (void)touchEventOnImage:(id)sender
{
    if( [sender isKindOfClass:[UIGestureRecognizer class]] )
    {
        UIGestureRecognizer * recognizer = (UIGestureRecognizer *)sender;

        if( [recognizer.view isKindOfClass:[UIImageView class]] )
        {
            UIImageView * imageView = [[UIImageView alloc] initWithImage:((UIImageView *)recognizer.view).image];
            imageView.contentMode = UIViewContentModeScaleAspectFit;
            imageView.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
            imageView.backgroundColor = [UIColor blackColor];
            // Remove the corner radius applied in the NSBubbleData class.
            imageView.layer.cornerRadius = 0.0;

            UIViewController * vc = [[UIViewController alloc] init];
            vc.view = imageView;
            [self.navigationController pushViewController:vc animated:YES];
        }
    }
}

我希望这至少能帮助你取得一些进展。

你是想将
UIImage
添加到
UIBubbleTableView的
单元格中,还是想在另一个视图中打开
UIImage
以查看其完整尺寸?@zakhej我想在另一个视图中打开UIImage以查看其完整尺寸。它喜欢苹果短信应用程序:D。你现在有什么?发布您有问题的代码。@zakhej很抱歉我回复晚了。我已经编辑了我的问题。希望你能帮助我。感谢您的先进:)作品!如果将其集成到UIBubbleTableViewDelegate中,岂不是又好又干净?我用的是from