我对xocde 6& autolayout。我正在设计多个设备的屏幕。我有一些视图,如图像,文本字段。我已经为iPhone设计了它们。我已经添加了一些修复高度&宽度约束。所以身高和宽度所有设备的宽度遥控器修复。我想改变高度&缩小到屏幕尺寸的视图宽度。我尝试了一种方法
这种方式是对齐的,但它的高度是固定的。我也使用了前导空间,尾随空间,但这样有时会产生意想不到的结果。那么有没有更好的方法呢?我真的很难搞清楚它。
答案 0 :(得分:1)
如果您是新手,我建议您使用PureLayout。您可以在项目中使用cocoapods或Carthage。使用此库,您可以超级轻松地对不同的屏幕进行此约束。在github项目中有一个示例项目,您可以在其中找到许多不同的场景。这是项目的github页面:
https://github.com/smileyborg/PureLayout
以下是@deepak kumar的一些示例代码段:
- (void)updateViewConstraints
{
if (!self.didSetupConstraints) {
// Apply a fixed height of 50 pt to two views at once, and a fixed height of 70 pt to another two views
[@[self.redView, self.yellowView] autoSetViewsDimension:ALDimensionHeight toSize:50.0];
[@[self.blueView, self.greenView] autoSetViewsDimension:ALDimensionHeight toSize:70.0];
NSArray *views = @[self.redView, self.blueView, self.yellowView, self.greenView];
// Match the widths of all the views
[views autoMatchViewsDimension:ALDimensionWidth];
// Pin the red view 20 pt from the top layout guide of the view controller
[self.redView autoPinToTopLayoutGuideOfViewController:self withInset:20.0];
// Loop over the views, attaching the left edge to the previous view's right edge,
// and the top edge to the previous view's bottom edge
[[views firstObject] autoPinEdgeToSuperviewEdge:ALEdgeLeft];
UIView *previousView = nil;
for (UIView *view in views) {
if (previousView) {
[view autoPinEdge:ALEdgeLeft toEdge:ALEdgeRight ofView:previousView];
[view autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:previousView];
}
previousView = view;
}
[[views lastObject] autoPinEdgeToSuperviewEdge:ALEdgeRight];
self.didSetupConstraints = YES;
}
[super updateViewConstraints];
}
我相信如果你现在可以开始,你会更容易通过自动布局头痛。
答案 1 :(得分:-1)
我不确定您要问的是什么,但如果您不想要文字视图,这听起来像是一个自动布局问题填满整个屏幕,继续 选择 Main.storyboard 中的文字视图 >然后点击 Pin 按钮,如下所示:
请注意,所有约束都已启用,这意味着此文本视图将固定在iOS屏幕的边缘。
如果您想稍后编辑这些约束,请继续转到尺寸检查器,然后您可以直接点击约束: