gpt4 book ai didi

ios - 在 iOS 中出现键盘时启用滚动内容

转载 作者:行者123 更新时间:2023-11-29 01:37:44 24 4
gpt4 key购买 nike

我在 iPhone 上有一个应用程序,它在 View Controller 中有很多内容。一般主要内容是形式。我的问题是我竖起键盘并想输入一些值来形成字段,很多内容是不可见的。我想在键盘出现时滚动此内容。我怎样才能做到这一点?我的 View 没有 ScrollView ,但我尝试这样做但它不起作用。

到目前为止,我发现的所有提示都与如何放置使用过的文本框有关,但这不是我的假设。

最佳答案

这就是我所做的,当键盘像这样上下升降时,我更改了顶部约束-

viewDidLoad中调用这个方法-

   [self observeKeyboard];
#pragma mark- Keyboard Listen Methods
- (void)observeKeyboard {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}


- (void)keyboardWillShow:(NSNotification *)notification {
NSDictionary *info = [notification userInfo];
NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
CGRect keyboardFrame = [kbFrame CGRectValue];
CGFloat height = keyboardFrame.size.height;
self.COnstraintTopViewVertical.constant=(value of constant)-height;
[UIView animateWithDuration:animationDuration animations:^{
[self.view layoutIfNeeded];
}];
}

- (void)keyboardWillHide:(NSNotification *)notification {
NSDictionary *info = [notification userInfo];
NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
self.ConstraintTopViewVertical.constant=reset value;
[UIView animateWithDuration:animationDuration animations:^{
[self.view layoutIfNeeded];
}];
}

关于ios - 在 iOS 中出现键盘时启用滚动内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32775892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com