gpt4 book ai didi

ios - UIImageView 在具有不同高度的自定义 UITableViewCell 内自动调整大小

转载 作者:行者123 更新时间:2023-11-29 02:19:56 24 4
gpt4 key购买 nike

我在 Storyboard内设置了一个自定义单元原型(prototype),不使用自动布局,并且遇到了一个相当令人烦恼的问题,当我希望它反射(reflect)大小时,单元内的 UIImageView 似乎遵守它自己的所有约束带有一些填充的单元格。

这是 Storyboard界面生成器中的设置, View 模式设置为“缩放以填充”

Setup

这是我得到的结果,没有编辑图像的位置或缩放,看起来非常像使用宽高比填充。

Result

我已经尝试了各种选项,但到目前为止似乎没有一个对我有用,我能想到的唯一其他方法是自动调整大小并在创建单元格时自己手动设置矩形有什么想法吗?

以及我设置单元格的代码

- (void)setCell:(NSDictionary*)messageData
{
[_nameLabel setText:messageData[@"name"]];
[_messageLabel setText:messageData[@"message"]];

[_nameLabel sizeToFit];
[_messageLabel sizeToFit];

UIImage *image;
if([messageData[@"direction"] boolValue])
{
image= [[UIImage imageNamed:@"bubble_left"]resizableImageWithCapInsets:UIEdgeInsetsMake(18, 6, 6, 10) resizingMode:UIImageResizingModeStretch];
}
else
{
image= [[UIImage imageNamed:@"bubble_right"]resizableImageWithCapInsets:UIEdgeInsetsMake(18, 10, 6, 6) resizingMode:UIImageResizingModeStretch];
}

[_bubbleImage setImage:image];
}

和协议(protocol)方法

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CUIChatCellTableViewCell *cell = [_chatTableView dequeueReusableCellWithIdentifier:@"CustomCell" forIndexPath:indexPath];

NSDictionary *messageData = _testDataArray[indexPath.row];

[cell setCell:messageData];

return cell;
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
_customCell = [_chatTableView dequeueReusableCellWithIdentifier:@"CustomCell"];

//configure cell
NSDictionary *messageData = _testDataArray[indexPath.row];

[_customCell setCell:messageData];

//Get height of the cell
CGFloat height = [_customCell.messageLabel frame].size.height+[_customCell.nameLabel frame].size.height+20;

return height;
}

最佳答案

像这样设置自动调整属性,可能对你有帮助。

Autoresizing

关于ios - UIImageView 在具有不同高度的自定义 UITableViewCell 内自动调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28270986/

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