【发布时间】:2015-12-04 06:47:56
【问题描述】:
我正在执行一项任务,我需要将视图移动 35 个像素,以显示该视图下方的视图。
或者 你可以说我需要在顶部插入一个类似通知的栏,并在运行时将现有视图移动 35 像素。
问题在于自动布局以支持所有屏幕。转变并没有像我们想要的那样发生......这里有什么建议吗? 顶视图有一个约束,它与顶视图的距离为零,需要在运行时改变,当我们显示下面的视图时。
移动并显示图像后:
我也给出了侧边栏视图。 NotifView :我们需要在运行时显示的黄色视图 twoView : 我们需要切换到顶部显示notifview。
-(void)shiftTwoView:(NSString*)summary{
CGFloat shiftHeight = 35.0f;
CGRect twoRect = twoView.frame;
twoRect.origin.y += shiftHeight;
twoRect.size.height -= shiftHeight;
[UIView animateWithDuration:3.5
animations:^{
twoView.frame = twoRect;
}];
}
【问题讨论】:
-
在运行时使用 NSConstraint 设置您的自定义约束。设置时不要忘记将 setTranslatesAutoresizingMaskIntoConstraints 设置为 false。
-
在这种情况下,我还应该从顶部删除我对它的约束?
标签: ios objective-c storyboard autolayout uiviewanimation