我只是试图以最简单的方式向上移动两个视图,我无法弄清楚如何使它在iOS8上工作(但它的工作在iOS7上很好)。IOS 8.1的动画问题
我读过的变化发生,但我不能让反正它的工作...
这里是我使用的代码:
的CGRect txFrame; //我的textview的初始框架 CGRect btFrame; //我的按钮的初始帧
- (void)kbWillShow{
[UIView animateWithDuration:0.45 animations:^{
//Remembering the initial frames here
txFrame = _txReason.frame;
btFrame = _btSend.frame;
_lbTitleReason.alpha = 0.3;
//Animating
_txReason.frame = CGRectMake(txFrame.origin.x, txFrame.origin.y-55, txFrame.size.width, txFrame.size.height);
_btSend.frame = CGRectMake(btFrame.origin.x, btFrame.origin.y-75, btFrame.size.width, btFrame.size.height);
}completion:nil];
}
- (void)kbWillHide{
[UIView animateWithDuration:0.45 animations:^{
//Putting them back to their original positions.
_txReason.frame = txFrame;
_btSend.frame = btFrame;
_lbTitleReason.alpha = 1;
}completion:nil];
}
我试图把“结果”位置完成块,但我只是做了非常突然和奇怪的运动,而duraton后视图传送点到intented位置。 (这比做一个突然的动作更好,并且最终在它开始的同一个位置结束)。
这应该很简单,我做错了什么?
在你的情况下,你应该使用'center'属性来代替'frame'。 – holex 2014-11-21 15:41:39
我想我已经尝试过,但也许不正确,你能给我一个例子吗? – Smiless 2014-11-21 15:44:03
例子...?你应该做同样的事情,但是用'center'属性而不是'frame'。我不确定你想看哪个例子。编写此注释需要更多时间,而不是改变使用'center'属性的实际代码。 :) – holex 2014-11-21 15:46:55