gpt4 book ai didi

ios - UIScrollView 在 iOS7 中不滚动自动布局

转载 作者:IT王子 更新时间:2023-10-29 08:06:58 24 4
gpt4 key购买 nike

我有一个 UIScrollView,里面有 6 个文本字段和一个按钮。 scrollView 中没有足够的内容使其滚动。

但是当键盘显示时,我希望 ScrollView 滚动,这样用户就不必为了选择另一个被键盘隐藏的文本字段而关闭键盘。

我使用的是 iOS7 并启用了自动布局。

有什么建议吗?

我正在使用 Storyboard,我仅有的代码如下。

reg.h文件

interface registerViewController : UIViewController <UITextFieldDelegate, UIScrollViewDelegate>

最佳答案

为了使 ScrollView 可滚动,内容大小必须大于 ScrollView 的框架,这样 ScrollView 才能滚动到某些地方。使用 setContentSize 调整内容大小:

[scrollview setContentSize:CGSizeMake(width, height)];

在这种情况下,您应该将大小调整为view.frame.width,view.frame.height + keyboard_height,然后在键盘出现后调整内容偏移量:

[scrollview setContentOffset:CGPointMake(0, 0 - keyboard_height)];

如果出于某些与自动布局相关的棘手原因,这仍然不能使 View 可滚动,请在 viewDidLayoutSubviews 中实现此 setContentSize 函数以覆盖自动布局:

- (void)viewDidLayoutSubviews {
[scrollview setContentSize:CGSizeMake(width, height)];
}

编辑:要在关闭键盘后重置 ScrollView ,请将 ScrollView 内容大小重置为 ScrollView 的框架并将偏移量重置为零:

[scrollview setContentSize:CGSizeMake(scrollview.frame.size.width, scrollview.frame.size.height)];
[scrollview setContentOffset:CGPointZero];

附言要为内容偏移设置动画,请使用:

[scrollview setContentOffset:offsetSize animated:YES];

关于ios - UIScrollView 在 iOS7 中不滚动自动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20317980/

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