我已经为此苦苦挣扎了大约一天。基本上我想从下到上显示一个标签,而文本不会在任何时候移动或调整大小。显露效果。如下图所示
到目前为止,我得出的所有解决方案都会导致文本移动。我什至尝试进行缩放变换(将锚点设置为底部),但这会导致内部文本在动画发生时调整大小。我还尝试将标签放在视图中并调整该视图的大小(并将 autoresize 子视图设置为 NO 并将子视图剪辑为 YES),但它仍然会导致其中的标签移动。
我已经为此苦苦挣扎了大约一天。基本上我想从下到上显示一个标签,而文本不会在任何时候移动或调整大小。显露效果。如下图所示
到目前为止,我得出的所有解决方案都会导致文本移动。我什至尝试进行缩放变换(将锚点设置为底部),但这会导致内部文本在动画发生时调整大小。我还尝试将标签放在视图中并调整该视图的大小(并将 autoresize 子视图设置为 NO 并将子视图剪辑为 YES),但它仍然会导致其中的标签移动。
在 Hello World 顶部放置一个不透明视图并将其向上滑动。如果您在其上方有 UI 元素,请确保它们位于滑动元素上方。
您可以创建标签。然后创建一个视图并放在它上面。它会使标签隐藏。然后向上移动视图。
如果反转的方向是可以接受的(从上到下显示),您可以为帧原点和帧大小设置动画。如果标签的大小小于文本,则下部将被切断。听起来像是妥协的最简单的解决方案。
有点晚了,但如果其他人正在寻找这个问题的答案,你可以使用:
-(void)inverseResizeView: (UIView *)view width:(int)deltaWidth height:(int)deltaHeight {
view.frame = CGRectMake(view.frame.origin.x - deltaWidth, view.frame.origin.y - deltaHeight, view.frame.size.width + deltaWidth, view.frame.size.height + deltaHeight);
}
像这样使用它作为示例:
[UIView animateWithDuration: 0.8 animations:^{
[self inverseResizeView: text.container width: 0 height: text.container.height];
}];
在视图上制作反转动画。