在动画Swift 3后,TextView框架可见但不可点击

时间:2017-06-14 07:02:59

标签: ios swift swift3 textview core-animation

注意:我正在使用1个pod(iCarousel

注意二:项目文件https://ufile.io/vgopt< - 我遇到了GitHub的问题所以我不得不将项目文件存储在uploadfiles.io中

我有显示基本数据的紧凑型卡片。点击" START"卡片扩展并显示更多数据: compact card / expanded card

为了实现这个动画,我事先以编程方式创建了所有约束(在sculptureCard.swift中)。我为每个约束分配不同的优先级值,然后在我的ViewController" changeLayout"方法I将优先级从998交换到1,反之亦然。

问题是这个新数据很长,我需要能够向下滚动才能看到这一切。最初,我正在使用(我希望使用)scrollView。我决定使用textView来尽量简化。但是,只有 HALF 我的textView会响应我的手势。 enter image description here

我认为我的textView仅在最初被约束的区域内工作;紧凑的卡片视图(textView最初也是高度0)。但我需要让这个textView识别整个表面的手势,而不只是一半。 我的按钮也出现了类似的难题。动画发生后,只有一半按钮可以再点击。我相信影响我的textView的同一问题正在影响我的按钮。也许我为观点制作动画的方式不正确。 enter image description here

此外,但仍然相关的问题是必须通过调整他们的" y"来增加卡的大小。位置为-125。我认为这不是修改视图框架的正确方法。 x:0 y:0应该将我的卡移动到包含视图的轮播顶部,但它不会。因此我必须使用-125。 enter image description here

所有动画都发生在ViewController的方法" changeLayout"(很长时间没有图片)。所有约束都是在我的自定义类" sculptureCard"。

中创建的

我在改变轮播容器限制后动画我的视图,我用完​​成块链接了我的动画。我打电话给" view.layoutIfNeeded()"所有必要的时间(我认为),以使这项工作。我试过在不同的地方和不同情况下调用这种方法。我尝试过其他方法,例如" layoutMargins"和" layoutSubViews"几乎我能想到的其他一切都可能有用。

我想我知道问题是什么(我的观点没有更新框架,即使视图显示正确)但我无法找到解决此问题的方法。

0 个答案:

没有答案