我有一个UIScrollView,它的框架和contentSize具有相同的大小。我想在键盘出现时更改scrollView的帧高,但它不起作用。 如果我改变x或y位置一切正常,但如果我试图改变框架的宽度或高度,一切都保持不变,没有任何反应。
这是我的代码:
-(void)resizeContentView:(BOOL)resize forOffset:(CGFloat)offset
{
[UIView animateWithDuration:0.3f animations:^{
UIView* resizeView = [self getResizingView];
if ( !resizeView )
return;
CGRect rect = resizeView.frame;
if (resize)
{
rect.size.height -= offset;
}
else
{
rect.size.height += offset;
}
resizeView.frame = rect;
}];
}
我没有使用Autolayout,无论我是否使用动画,都会出现同样的问题。
答案 0 :(得分:0)
尝试更改content size
通知{/ 1}}。
keyboaardDidAppear
已编辑
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}