gpt4 book ai didi

objective-c - UIScrollView 不会调整高度以适应 subview

转载 作者:行者123 更新时间:2023-12-01 17:23:36 28 4
gpt4 key购买 nike

我有一个 UITextView ,它从 RSS 提要动态设置其文本。 TextView 是 UIScrollview 的 subview .最终,我正在创建一个移动报纸应用程序,因此用户应该能够滚动浏览文本(和其他 subview )。

在 IB 中创建 View 后,我添加了

NSString *sourceCode = [NSString stringWithContentsOfURL:[NSURL URLWithString:self.URL] encoding:NSUTF8StringEncoding error:&error];
sourceCode = [self parseHTMLText:sourceCode];
CGSize maximumLabelSize = CGSizeMake(320,9999);
CGSize txtStringSize = [sourceCode sizeWithFont:self.body.font
constrainedToSize:maximumLabelSize];
CGRect newlblFrame = CGRectMake(0, 0, 320, txtStringSize.height);
self.body.frame = newlblFrame; //body is the textview
self.body.text = sourceCode;
self.scroll.contentSize=CGSizeMake(320, self.body.frame.size.height+300); //scroll is scrollview

一个典型的 NSLog将显示 body frame = {{0, 0}, {320, 2088}} scrollview frame = {{0, 0}, {320, 417}} scrollview content size = {320, 2388}
但是,当我运行应用程序时,body 将其界面构建器高度保持在 196 左右,并且 ScrollView 不会滚动(当我移动它时,它只是弹回原来的位置)

附带说明一下,当我尝试使用 CGRectMake 手动更改 textview 的框架时,NSLog 显示正确的高度,但 View 看起来并没有什么不同。我确保它在 IB 中正确连接,因为我可以调整其他属性,例如背景颜色。

编辑:

在我将 textview 的 cliptoBounds 属性设置为 NO 后,textview 现在会调整其高度并尝试显示整个文本。但是,它在屏幕末尾切断,我仍然无法滚动。

这是我目前看到的。为了方便起见,我将 ScrollView 的背景颜色设为灰色。我不确定为什么部分 ScrollView 部分为白色,部分为灰色。 (标题)是一个单独的标签btw)

enter image description here

最佳答案

我通过将代码从 viewDidLoad 移动来解决了这个问题至viewDidAppear .显然这是 Xcode 4.5 特有的问题,由 AutoLayout 功能覆盖 viewDidLoad 中的逻辑引起。方法。可以找到更好的解释here .

关于objective-c - UIScrollView 不会调整高度以适应 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024728/

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