gpt4 book ai didi

ios - 在 3 个 ScrollView 之间拖放 [iOS]

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

是否有可能有 3 个 ScrollView 假设中间是用户在里面找到对象的主要位置,然后用户可以拖动任何项目并将其放到右 ScrollView 或左 ScrollView 以便从中删除该对象中间和向右或向左放置取决于用途,假设用户将其向左放置,因此系统应向左 ScrollView 添加新对象但是当用户删除此对象并返回到主(中间)首选如果对象的编号为 2,则在同一旧索引中删除并添加该对象,则该对象将在索引 2 处添加和删除......等等

你能帮忙实现这个功能吗?

最佳答案

我们称这些项目为 model1 ... model3;

@property (nonatomic, strong) NSMutableArray *mainArray;
@property (nonatomic, strong) NSMutableArray *leftArray;
@property (nonatomic, strong) NSMutableArray *rightArray;

@property (nonatomic, strong) UIScrollView *mainView;
@property (nonatomic, strong) UIScrollView *leftView;
@property (nonatomic, strong) UIScrollView *rightView;

您需要在ItemModel.h中创建一个模型类,例如ItemModel继承UIViewNSObject,一些属性(你需要什么属性以及关于哪个UIScrollView包含这个模型的属性)

首先,将所有模型放入mainView的数据源mainArray中,在您的self.view中显示模型并调用self.viewbringSubviewToFront:并且为所有模型提供一个 UIPanGestureRecognizer 和一个响应 UIPanGestureRecognizer 的方法,以便您可以拖动它们。

这是最重要的部分:

因为您希望所有模型都包含在三个 UIView 中,所以必须计算 self.view.frame 与三个 UIView 框架之间的模型框架关系。事实上,所有的modelView都包含在self.view中,但是当视觉显示时,所有的modelView都包含在UIScrollViews中。

其次,你已经有了三个UIView的框架,当你拖动模型时,你可以得到CGPoint关于拖动的位置,然后调用方法CGRectContainsPoint(CGRect rect, CGPoint point),因此您可以获得包含您拖动的点的任何 View 。

例如,你将 model1mainView 拖到 leftView,你可以从 得到一个 YES >CGRectContainsPoint(leftview.frame, point),然后从 mainArray 中删除 model1 并将 model1 放入 leftArray,同时需要重新布局三个UIView

enter image description here

enter image description here

enter image description here

这是我的 gif 分享网址:https://pan.baidu.com/s/1slFBva9

关于ios - 在 3 个 ScrollView 之间拖放 [iOS],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42323519/

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