并排视图总是相互接触?

时间:2016-08-17 21:11:39

标签: ios objective-c iphone

我有2个视图,蓝色视图和粉红色视图,我设置了它们的约束,因此它们都是高度的一定百分比,蓝色是宽度的25%,粉红色是75%的宽度。我也设置好这两个视图和绿色标题之间的距离是0,两个视图和它们各自的边之间的距离是0.当我在iPhone 6s plus sim上运行时,它看起来很棒,但任何其他设备和此白线出现。我如何才能使两个视图之间的距离始终为0? Xcode似乎不想让我...任何帮助非常感谢。 Here is the view controller in storyboard, / and here it is when ran in the iPhone 5s sim.

2 个答案:

答案 0 :(得分:0)

观察你的图像,除非存在相互矛盾的约束,否则视图不应相隔太远。

由于pinkViewblueView之间的水平间距约束为零,因此您不需要同时指定25%/ 75%宽度约束。

|-0-pinkView(@25%-superview-width)-0-blueView-0-|

类似于上面的水平约束应该足以防止任何间隙(不是严格的Visual Constraint Language格式)。

答案 1 :(得分:0)

你是如何发表意见的?我发现最可靠的方法是以编程方式定义您的视图。 设置屏幕宽度和屏幕高度

 CGFloat screenWidth=[[UIScreen mainScreen] bounds].size.width;
 CGFloat screenHeight=[[UIScreen mainScreen] bounds].size.height;

这会根据您的设备为您提供参考

UIView *someView=[UIView alloc]initwithframe:CGRectMake(screenWidth/2,screenHeight/8,screenWidth/4,screenHeight*6/8);

以这种方式设置视图将让您只需匹配所有内容的比率,并且适用于每个视图。 只是你知道

someView.backgroundColor=[UIColor blueColor];
[self.view addsubview:someView];

更改颜色并将一些View添加到视图中..