如果我在界面构建器中在另一个下面添加一个标签,我会建议放置它的位置(我猜这与Apple认为应该隔开多远的距离有关)。如果您不知道我在说什么,请将新标签拖到另一个标签的正下方,它应该会卡入到位,并会出现蓝色虚线。
现在我以编程方式创建视图,我希望获得相同的间距。在某个地方我可以使用吗?
What constant can I use for the default Aqua space in Autolayout?
答案 0 :(得分:0)
在代码中创建视图时,使用精确空格指定框架或使用自动布局(这是代码中的总痛苦)。
Apple使用的常量通常为0,8和20.这些常量通常基于其他视图。
这是一个例子:
假设您要将视图newView
放在另一个视图oldView
下面,间距为8个点。
UIView *oldView;
CGRect newViewFrame = oldView.frame;
newViewFrame.origin.y += oldView.frame.size.height + 8.0f;
UIView *newView = [[UIView alloc] initWithFrame:newViewFrame];
[self.view addSubview:newView];
答案 1 :(得分:0)
可以使用可视格式语言在代码中添加默认间距 - 默认间距由-
字符表示。 (这假设你使用的是Autolayout,你应该这样做)。
如果它是与superview边缘的间距而不是两个对等视图之间的间距,则会有所不同,但它将与界面构建器的默认值匹配。
我写过关于视觉格式语言的文章,以及Autolayout的其余内容,here如果你感兴趣的话。