我有一个固定在我的主UIViewController的视图(self.view)底部的文本字段,当用户点击它时,这个函数被调用(通过UIKeyboardWillShowNotification),这将改变高度 - 它只是出现在iOS动画主UIViewController的视图高度
-(void)keyboardWillShow: (NSNotification*) notification {
NSDictionary* info = [notification userInfo];
CGSize keyboardSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
CGFloat textFieldHeight = activeField.frame.size.height;
CGPoint textFieldOrigin = activeField.frame.origin;
textFieldOrigin.y += textFieldHeight;
CGRect visibleRect = self.view.frame;
visibleRect.size.height -= keyboardSize.height;
if (!CGRectContainsPoint(visibleRect, textFieldOrigin)) {
CGRect r = self.view.frame;
r.size.height -= keyboardSize.height;
[UIView animateWithDuration:1.0
animations:^{
self.view.frame = r;
}];
}
}
它会调整的self.view.frame很好,所以它是所有被调用和运行,但由于某些原因拒绝了第二动画吧:self.view.frame的立即放置。
我需要做什么才能让这种高度变化动画?
您使用的自动布局? – 2014-09-23 13:53:37
我这么认为。如果这就是你的意思,我将textfield固定在UIViewController视图的底部,左侧和右侧? – 2014-09-23 14:18:08