我想动态加载一些UIView
,它们有点复杂,所以我花了几个小时制作.xib文件。
现在假设我有一个finalView
,它以屏幕上显示的根/容器视图显示。
然后我addSubView(subViewLvOne)
,也可以是容器视图。
最后subViewOne.addSubView(subViewLvTwo)
,现在我们得到了所有需要。
在屏幕上它是完美的,正是我想要展示的结果。 Two
内的One
,One
内的final
。
但我无法通过One
和Two
获得任何点击事件。好像final
得到了所有的事件,但由于里面有许多小的子视图,我当然希望他们得到自己的事件。
我简化了我的实际情况,避免了许多不相关的细节,希望现在描述清楚。
欢迎提出任何建议,即使“使用***优于.xib”也是如此。我自己,已经开始怀疑整个解决方案的方向。
答案 0 :(得分:0)
大约2个小时后,我得到了两个提示:
UIView
必须足够大。我有UIView
,宽度为200,内部有UIButton
。在运行时,我更改UIButton
的宽度约束以填充屏幕,显然大于200.然后发生一些荒谬的事情:只有部分按钮可以触发点击事件。在这种情况下,根UIView
的宽度,即200像素。
init(frame:CGRect)
时,请使宽度和高度值足够大。首先,我在网上从一些例子中复制CGRect.Zero
。我的同事发现这将阻止点击事件。您可以提供1000宽度和1000高度,外部区域不会真正触发点击事件,同时可以正确点击UIView
。
这就是全部。