iOS 中 xib 里给个控件设好约束,代码动态控制该控件的显示和隐藏,隐藏了约束貌似还在??

这种会导致虽然隐藏了 但是会空出一块,求解决思路,各路大神!!!

阅读 15.8k
5 个回答

能不能看看你想做的效果?如果你是隐藏之后让其他控件来代替这个位置。你可以改变其他控件的frame。当你需要隐藏的时候。这样就可以遮蔽了。

hide属性只是控制控件是否显示出来,你可以动态的修改一下约束。如果使用自动布局就不要自己修改frame,会导致很多莫名其妙的错误。

空出一块是正常的,autoLayout 就是这样,即使hidden = YES,算位置的时候它还是会把这个 view 排进去,只是不显示,所以会空出一块。

如果你是从上往下排的可以试着把 height 的 constraint 设成0,横排可以把 width 设成 0。具体情况具体分析吧。

新手上路,请多包涵

即使隐藏了控件,约束是不会取消的.说白了,控件还在那,只是看不到而已,而且hidden = YES的话,也不会渲染它.如果你想把约束去掉的话,直接移除约束就好.调用view的 removeConstraints方法.

新手上路,请多包涵

不用想那么复杂, Hidden 完, 高度为0 , 后面的就自动上去了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题