gpt4 book ai didi

ios - 图像内部 UIBubbleTableView

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:00 25 4
gpt4 key购买 nike

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

现在,我希望图像可以点击并移动到另一个 View (人们可以看到它的全尺寸)。但是 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 对象,我在它的 View 中添加了一个触摸手势。当用户触摸时,调用 touchEventOnImage: 方法。从发送者那里,你可以得到手势识别器,它的 View 是 NSBubbleData 设置的 UIImageView 的 View 。您可以全屏显示此图像。

这是我使用的代码:

- (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];
}
}
}

我希望这至少能帮助您取得一些进步。

关于ios - 图像内部 UIBubbleTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215611/

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