gpt4 book ai didi

objective-c - 同一个 UIButton 的多个实例?

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

问题

我正在创建一个自定义 UIView,我需要一个 UIButton 的多个实例。我希望通过为每个按钮创建一个实例,然后使用标签来识别哪个按钮是哪个来节省内存(和代码!)。我可以创建新的“向上”和“向下”按钮,但我想看看我是否可以更聪明地做到这一点。

我的设置方式是 3(应该适用于任何数字,但是)UILabel,每个按钮下方或上方分别有一个“向上”和“向下”按钮。我还对每个按钮的 CGPoint 位置使用了一个计数,以匹配相应的 UILabel。

我在做什么

所以我所做的是将 xCount 设置为默认值,创建第一个标签,然后在将标签和按钮添加为 subview 之前创建第一个“向上”和“向下”按钮。

接下来我增加 xCount,更改标签并为每个标签和两个按钮设置框架。但是,这会将第一个按钮移到新框架(如预期的那样)。

我尝试过的:

我已经尝试在每次使用后将每个按钮设置为自身的副本(在将第一个标签和按钮添加到 subview 之后),但这会在运行时出错。

button = [button copy];

这更像是一个代码格式问题,而不是一个问题,但我正在寻找对这个问题的一些更聪明的见解:)。

这个项目正在使用自动引用计数,如果有任何改变的话。

提前致谢!

最佳答案

首先,您对内存的担忧是没有根据的。只需创建所需数量的按钮即可。

其次,如果您更改按钮(或任何 View )的框架,它就会移动。您不能在两个地方使用一个按钮。

第三,复制一个对象与从头开始创建两个对象使用相同数量的内存;必须为副本分配新内存。

第四,UIButton 没有 conform to NSCopying , 所以你不能复制它们。

第五,你对内存的担忧是没有根据的。只需创建所需数量的按钮即可。

关于objective-c - 同一个 UIButton 的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907496/

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