如何覆盖JSQMessagesViewController中的自定义媒体项目的mediaViewDisplaySize?

我想在JSQMessagesViewController中自定义媒体项的大小。 我正在添加一个标签到UIView,并试图通过设置我的容器视图的框架大小来设置大小。

UIView* containerView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 100, 100) ] containerView.frame = CGRectMake(0.0f, 0.0f, 315.0f, 100.0f); UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0, 0, 50, 50)]; label.text = @"vendor name"; [containerView addSubview:label]; 

设置框架大小适用于图像视图,但现在UIView。 即使如此,在图像视图的情况下,还有一个空白空间用于未填充的内容。 此外,我可以通过mediaViewDisplaySize调整所有视图的占位符,但是我不能以不同的方式自定义每个子类。

如何根据子类select性地设置占位符视图的大小?

在你的mediaItem子类中,你需要重写mediaViewDisplaySize 。 如果每种mediaItem都需要不同的大小,那么每个子类别都是最简单的。