我是从 C# 和繁重的 UI 交互到 iOS 的新转换者。如果有人在这两种技术中工作过,我希望你能帮助我解决这个问题:我有一个视图,我在其中添加了一个底部视图(全部通过 Interface Builder)。现在我需要将底部视图停靠到它添加到的视图的底部,这意味着每当调整父视图的大小(如高度增加)时,该视图上的底部视图应该相应地保持在底部,在 Visual Studio 中,这被称为对接,在 XCode 界面生成器中是否有等价物?甚至通过代码?
谢谢
我是从 C# 和繁重的 UI 交互到 iOS 的新转换者。如果有人在这两种技术中工作过,我希望你能帮助我解决这个问题:我有一个视图,我在其中添加了一个底部视图(全部通过 Interface Builder)。现在我需要将底部视图停靠到它添加到的视图的底部,这意味着每当调整父视图的大小(如高度增加)时,该视图上的底部视图应该相应地保持在底部,在 Visual Studio 中,这被称为对接,在 XCode 界面生成器中是否有等价物?甚至通过代码?
谢谢
如果你想在 IB 中做,它在“标尺”图标下。有一个自动调整大小部分。
如果您使用的是最新的工具,它也可以命名为 Constraint。
我对 IB 不太熟悉,但是通过编程你可以使用autoresizingMask
a 的属性来实现你描述的对接效果UIView
,例如:
view.autoResizingMask = UIViewAutoresizingFlexibleTopMargin;
view.frame = CGRectMake(view.frame.origin.x, parentView.frame.size.height - view.frame.size.height, view.frame.size.width, view.frame.size.height);
您可能还希望您的停靠视图在其父视图被拉伸时水平扩展,在这种情况下,您可以按位或另一个选项autoResizingMask
:
view.autoResizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth;
view.frame = CGRectMake(0, parentView.frame.size.height - view.frame.size.height, parentView.frame.size.width, view.frame.size.height);