iOS equivalent for Android View.GONE visibility mode(iOS 等效于 Android View.GONE 可见性模式)
问题描述
我正在为 iOS 开发一个应用程序,并且我正在使用启用了 AutoLayout 的 Storyboard.我的一个视图控制器有一组 4 个按钮,在某些情况下我想让第一个按钮消失.
I'm developing an app for iOS and I'm using the Storyboard with AutoLayout ON. One of my view controllers has a set of 4 buttons, and in certain circumstances i would like to make the first one disappear.
如果我使用 setHidden:TRUE
方法,UIButton 会变得不可见,但它显然仍会在视图中占用空间,结果是一个我无法填充的洞"剩余的 UIButton 浮动到主视图的顶部.
If I use the setHidden:TRUE
method the UIButton become invisible but it still obviously take space in the view, and the result is an "hole" which I've not been able to fill making the remaining UIButton to float towards the top of the main view.
在 Android 中,我会简单地使用 View.GONE
而不是 View.INVISIBLE
,但在 iOS 中,我会坚持这种行为,我不想这样做相信唯一的解决方案是手动(是的,我的意思是以编程方式)将剩余的元素移动到顶部.
In Android I would have simply used View.GONE
instead of View.INVISIBLE
, but in iOS I'm stuck with this behaviour and I don't want to believe that the only solution is to manually (yes I mean programmatically) move the remaining elements to the top.
我以为我可以通过设置某种约束来让一切都像在 Android 中一样自动化,但我没有运气.
I thought I would have been able to do it setting some sort of Constraint to make everything as automatic as it is in Android but I've had no luck.
在我关闭自动布局之前,有人可以指出正确的方向吗?
Before I turn Autolayout OFF, can someone point me to the right direction?
我正在使用 IB,但我也对程序化的东西感到满意.
I'm using the IB, but I'm comfortable with programmatic stuff as well.
更新:
将组件高度设置为 0 也无济于事.
Setting the component height to 0 doesn't help as well.
我尝试过这样的事情:
UIButton *b;
CGRect frameRect = b.frame;
frameRect.size.height = 0;
b.frame = frameRect;
推荐答案
添加一个将视图高度设置为 0 的约束(NSLayoutAttributeHeight)对我有用:
Adding a constraint(NSLayoutAttributeHeight) that sets height of the view to 0 worked for me:
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.captchaView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:0]];
这篇关于iOS 等效于 Android View.GONE 可见性模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:iOS 等效于 Android View.GONE 可见性模式


基础教程推荐
- Android文本颜色不会改变颜色 2022-01-01
- LocationClient 与 LocationManager 2022-01-01
- Android ViewPager:在 ViewPager 中更新屏幕外但缓存的片段 2022-01-01
- 使用 Ryzen 处理器同时运行 WSL2 和 Android Studio 2022-01-01
- 如何使用 YouTube API V3? 2022-01-01
- “让"到底是怎么回事?关键字在 Swift 中的作用? 2022-01-01
- 固定小数的Android Money Input 2022-01-01
- 在 iOS 上默认是 char 签名还是 unsigned? 2022-01-01
- 如何使 UINavigationBar 背景透明? 2022-01-01
- :hover 状态不会在 iOS 上结束 2022-01-01