根据里面的信息扩展ScrollView并保存?

Posted

技术标签:

【中文标题】根据里面的信息扩展ScrollView并保存?【英文标题】:Extending ScrollView according to the information inside and saving? 【发布时间】:2015-03-17 18:29:38 【问题描述】:

我正在尝试创建一个ScrollView,它会根据添加到其中的信息量而增长并保存数据。我怎样才能做到这一点?我一直试图弄清楚这一点,但不确定如何去做。我要保存的数据在 TextField 中。我不确定这是否会导致任何问题。

任何意见和建议将不胜感激。

提前致谢。

【问题讨论】:

这与表格视图有什么不同? 【参考方案1】:

您可以使用 UIScrollView 的.contentSize 来设置内容大小。 如果你想根据信息的大小来确定内容大小,你可以在每次添加新内容时扩大内容大小

var scrollView:UIScrollView = UIScrollView(frame: CGRectMake(0, 0, 100, 200))
scrollView.contentSize = CGSizeMake(100, 800)

var textField:UITextField = UITextField(frame: CGRectMake(0, scrollView.frame.height, scrollView.frame.width, 200))

scrollView.contentSize = CGSizeMake(scrollView.contentSize.width, scrollView.contentSize.height + textField.frame.height)
scrollView.addSubview(textField)
textField.text = "Foo"


var lbls = [String]()
for view in scrollView.subviews
    if let view:UITextField = view as? UITextField
        var lbl = view.text
    


//Save lbls as array or every string inside lbls using core data

这里我将内容大小的高度设置为我的标签高度+内容大小的当前高度。

【讨论】:

即使退出应用程序,如何将数据保存在 SrollView 中? 在这种情况下,循环遍历 UIScrollView 的所有子视图,获取 UILabel 的文本元素并将它们全部保存。如果您有另一个要添加到滚动视图中的对象,请将该对象保存到您的 CoreData。 编辑: 抱歉刚刚读到您想从 TextField 中保存信息,这些也有一个 .text 元素,因此您可以将它们作为 NSString 保存在您的cordite中 为你编辑了代码,有优秀的教程可以找到更多关于核心数据的信息;现在在这里解释有点过分,如果你还不知道,我建议谷歌如何使用核心数据来保存字符串

以上是关于根据里面的信息扩展ScrollView并保存?的主要内容,如果未能解决你的问题,请参考以下文章

水平 ScrollView (SwiftUI) 中的动画展开/折叠组

两个python程序搞定NCBI数据搜索并将结果保存到excel里面

在 ScrollView 中填充时,Android VideoView 不扩展

Android ScrollView在滚动中调用scrollTo(0,0)回到顶部无效

SwiftUI ScrollView 不显示从 ObservableObject 获取的结果

ScrollView(RecyclerView等)为什么会自动滚动原理分析,还有阻止自动滑动的解决方