ios – 在UITableView上移动UIView – 触摸顶部UIView仍然选择表行

ios – 在UITableView上移动UIView – 触摸顶部UIView仍然选择表行,第1张

概述我有一个包含三个容器的UIView Container A - contains a UITableViewContainer B - contains Container C and Container OContainer C - contains a UITableView* - touch event@ - touch event----------------------| 我有一个包含三个容器的UIVIEw
Container A - contains a UItableVIEwContainer B - contains Container C and Container OContainer C - contains a UItableVIEw* - touch event@ - touch event----------------------|     |               || ---*|      B        || --- |               || -A- | -----------   || --- ||@----C---- |  ||     | -----------   |----------------------

一个事件发生在我移动容器B的框架(我在B的右边显示一个视图(标记为O),这并不重要).现在容器B与容器A重叠

O - Other vIEw (unimportant)$- original location of touch @----------------------|   |               | | | --|*     B        | || --|               | || -A|------------   |O|| --||@-$--C----|   | ||   |------------   | |----------------------

但现在,当我尝试通过触摸行的左边缘(@)在Container C的UItableVIEw中选择一行时,Container A的UItableVIEw正在注册触摸.或者即使我触摸表格(*)上方的视图,也会选择A中的相应行.

我可以通过改变容器A的UItableVIEw的宽度来解决部分问题.但是我仍然有问题,如果我触摸表C(@),C的行不选择.这就像表C的起点位于旧位置($).

那么我该怎么办才能点击新的@位置将选择C中的正确行?

=======

用一些代码编辑:

这是我在容器B中所做的代码.这是B帧的一个非常直接的动画. self.vIEw是Container B的UIVIEw.

所有视图都在屏幕上(隐藏“其他”容器)通过故事板.其他容器是B的子视图.

// this code basically aligns the "other" container to the right/"offscreen" of // Container B. Yes extending beyond the frame of B,but this part works fineCGRect otherContainerFrame = self.otherContainerVIEw.frame;otherContainerFrame.origin.x = CGRectGetMaxX(self.vIEw.frame);[self.otherContainerVIEw setFrame:otherContainerFrame];[self.otherContainerVIEw setHIDden:NO];// I'm going move Container B by the wIDth of the "other" vIEwfloat offset = CGRectGetWIDth(self.otherContainerVIEw.frame);CGRect frame = self.vIEw.frame;frame.origin.x -= offset;[UIVIEw animateWithDuration:.35                 animations:^{                     [self.vIEw setFrame:frame];                 }];

请让我知道你想看到的其他代码.

解决方法 嗯……不确定这是否适用于您的情况,但尝试在容纳所有其他容器的更大容器中管理您的动画.

我的意思是,创建一个包含A,B,O及其子视图的Container Z,并尝试从Z中设置B的位置动画,检查B是否在A前面.

总结

以上是内存溢出为你收集整理的ios – 在UITableView上移动UIView – 触摸顶部UIView仍然选择表行全部内容,希望文章能够帮你解决ios – 在UITableView上移动UIView – 触摸顶部UIView仍然选择表行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存