我有一个UIView中的元素,约束条件是它应该总是从视图的底部起10个像素。然后,我试图为这个视图的高度设置动画,以便它看起来向下滑动屏幕。根据约束,该元素始终应该距视图底部10个像素。当我添加视图像这样这也是如此......动画UIView框架的约束
printView *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"printView"];
[self addChildViewController:vc];
vc.view.frame = CGRectMake(0, 60, vc.view.frame.size.width, HEIGHT);
vc.view.layer.masksToBounds = FALSE;
[vc.view.layer setShadowOffset:CGSizeMake(0.0, 5.0)];
[vc.view.layer setShadowOpacity:0.8];
vc.view.layer.shadowColor = [[UIColor blackColor] CGColor];
vc.view.layer.shadowRadius = 8;
vc.view.clipsToBounds = TRUE;
[self.view insertSubview:vc.view aboveSubview:docWebView];
我可以改变高度,以任何我想要和元素总是从视图的底部10个像素。问题是当我尝试动画的高度
printView *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"printView"];
[self addChildViewController:vc];
vc.view.frame = CGRectMake(0, 60, vc.view.frame.size.width, 0);
vc.view.layer.masksToBounds = FALSE;
[vc.view.layer setShadowOffset:CGSizeMake(0.0, 5.0)];
[vc.view.layer setShadowOpacity:0.8];
vc.view.layer.shadowColor = [[UIColor blackColor] CGColor];
vc.view.layer.shadowRadius = 8;
vc.view.clipsToBounds = TRUE;
[self.view insertSubview:vc.view aboveSubview:docWebView];
[UIView animateWithDuration:5.0 animations:^{
vc.view.frame = CGRectMake(0, 60, vc.view.frame.size.width, 200);
[self.view setNeedsDisplay];
}];
约束不再是荣幸,而不是从底部总是10个像素,它看起来像元素的元素滑动在视图中被发现,因为元素不随视图移动。我希望我解释得很好。换句话说,我想要拉下一张地图的效果,但看起来地图已经在那里了,覆盖它的一张纸正在被拉开。谢谢你的帮助。
哦,伙计。我不知道可以为约束创造出路。惊人! – fnc12
说你有4个标签,从上到下,你将如何使用自动布局来定位这些标签。我的意思是你有三种约束:第一个标签和顶部视图,在两个标签之间,最后一个标签和底部视图。我将如何指定这些约束条件,以便它不会过多地拉伸空间,也不会拉伸标签本身的高度?我会给百分比空间/距离/高度还是只是固定的金额(iPhone5,6加上iPad mini,iPad Air,iPad Pro不同)。 **我只想要一个粗略的想法,不需要代码。** – Honey