gpt4 book ai didi

objective-c - 附件 View 显示单元格的一半

转载 作者:行者123 更新时间:2023-11-29 13:29:03 26 4
gpt4 key购买 nike

我不知道如何让我的附件 View 适合我的单元格。此外,当我添加 subview 时,它会将其添加到添加的第一个 subview 的右侧。我希望从右到左添加 subview 。

我有这个作为我的附属 View

UIView *myAccessoryView = [[UIView alloc] initWithFrame:cell.accessoryView.frame];

每当我添加一个 subview 时,我就写这个

[myAccessoryView addSubview:greenCircle];

一旦它添加了另一个 subview ,它就会被放置在前一个 subview 的右侧,该 subview 离我的单元格更远。如何反转它添加 subview 的方式?如何格式化附件 View 以保留在单元格上?

最佳答案

您正在尝试使用尚不存在的 accessoryView 框架来初始化 myAccessoryView。如果您指定 cell.accessoryType 属性,或者如果您自己创建和设置 accessoryView,它将在单元格创建(并添加到 tableView)之后创建:

[cell setAccessoryView:myAccessoryView];

所以如果你这样做:

UIView *myAccessoryView = [[UIView alloc] initWithFrame:cell.accessoryView.frame];
[cell setAccessoryView:myAccessoryView];

您将拥有大小和坐标为零的 accessoryView。 cell 设置为 tableView 后,accessoryView 会在 cell 右侧获取标准原点。但它的大小仍然为零。您添加到 accessoryView 的所有 subview 都将设置为该原点。

方法“addSubview”不能改变 subview 框架,它只是将一个 View 放置到另一个 View 。不知道为什么新的 subview 被放置在前一个的右边。要将 subview 放在正确的位置,您必须手动设置它们的框架。例如:

UIView *greenCircle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[myAccessoryView addSubview:greenCircle];

希望对您有所帮助。

关于objective-c - 附件 View 显示单元格的一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12310298/

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