gpt4 book ai didi

iphone - 重新排列 UIScrollView 中的 subview ,就像主屏幕上的应用程序图标一样

转载 作者:行者123 更新时间:2023-12-03 20:47:21 25 4
gpt4 key购买 nike

各位,Hej,

我有一个问题要问你:我的应用程序中有一个 UIScrollView,其中包含许多 subview (UIView 的所有直接子类)。现在我想让用户能够在 ScrollView 内重新排列这些 subview 。有没有办法让它看起来像我们都可以更改主屏幕上的图标(自动重新排列)?我真的很感激任何帮助!提前致谢,蒂姆

最佳答案

除非您使用一些自定义工具包(我不确定是否存在自定义工具包或 API 来实现此目的),否则我认为您应该从头开始创建它们。

我也在创建与你所说的非常相似的东西。在 UIScrollView 实例中,我添加了小 subview ,并且只能通过拖动来垂直排序它们。另外,我可以将任何 subview 带到 UIScrollView 实例的外部。 (有点棘手)

有两种构建它们的方法。 (小 subview ==图标)

1a) 在包含许多小 subview 的 UIScrollView 主 subview 中实现触摸事件(gestureRecognizer 或 TouchesBegan、Moved、Ended、Canceled)。

1b) 在每个小 subview 中实现触摸事件。

我选择 1b 是因为我不仅想在 UIScrollView 中使用小 subview ,而且还想在程序中的任何地方使用小 subview 。但对于 1b,要防止这些小 View 中的多点触控有点困难。我还认为,使用 1b,小 subview 中的触摸事件可以更轻松地摆脱应用程序复杂的响应程序链。

2) 创建一个包含小 subview 列表的 NSMutableArray 实例。

3) 实现一个函数,通过枚举将 NSMutableArray 实例显示到 UIScrollView 实例的主视图上。

4) 实现一个函数,枚举一个 NSMutableArray 实例,并检查小 subview 的当前触摸位置是否在 NSMutableArray 的任何小 subview 的框架中。 (或检查当前移动的小 subview 的框架是否与任何小 subview 的框架相交)您可以使用 CGGeomtery 中的 CGRectContainsPoint 或 CGRectContainsRect 函数。

5a) 如果是,那么您只需更改 NSMutableArray 的每个小 subview 的框架即可。

5b) 如果用户在任何小 subview 的框架之外释放手指,则不执行任何操作。

只需使用基于 block 的动画方法(iOS4及更高版本)或开始/提交动画方法,您就可以像主屏幕一样创建它们。

关于iphone - 重新排列 UIScrollView 中的 subview ,就像主屏幕上的应用程序图标一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4619326/

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