gpt4 book ai didi

ios - 创建免责声明屏幕,用户必须一直向下滚动

转载 作者:行者123 更新时间:2023-11-28 20:17:20 31 4
gpt4 key购买 nike

我需要创建一个包含长文本(已本地化为不同语言)的免责声明屏幕。

用户应该向下滚动到文本的底部,然后看到“同意”按钮。

由于警报相当有限,我创建了一个 UIViewController,并将一个 ScrollView 放入其中。

现在我将一个 TextView 放入此 Scrollview - 但问题是此 TextView 不应自行滚动,但应具有它所包含的完整文本所需的确切大小(当然,每种语言和总是超过屏幕高度可以保持而无需滚动)然后在那个长的 TextView 下我需要定位 UIButton。

TextView + Button 都在 ScrollView 中。

由于 UITextView 具有不同的高度,具体取决于当前语言 - 我如何才能正确设置这个完整的屏幕 - 最好使用 IB。或者如果不可能以编程方式实现?

或者是否有更简单的完全不同的方法?

最佳答案

添加一个 UILabel(行数设置为 0)及其下方的按钮到 ScrollView 。设置约束,使按钮在标签底部有一个垂直间距约束。给标签一个固定的宽度约束和一个高度约束。将 IBOutlet 设置为高度约束,并使用从 sizeWithFont:constrainedToSize:lineBreakMode: 获得的值在代码中调整该约束的常量参数。您还需要使用相同的值加上适合按钮所需的任何大小来调整 ScrollView 的 contentSize。这将使标签根据其包含的文本具有正确的高度,并且您的按钮将始终位于该标签下方的设定距离处。

- (void)viewDidLoad {
[super viewDidLoad];
self.label.text = @"dfkl;jfjdfkjf sdfl klf;jskdl;fja skfjdklfj skdlfjs dklfjsklfj sklfjskl;f jks;alfjsk;lfjs;klfj;kfjs;kljk;lfjskdfj;klf j;klf jkl;fj;klfj;klfj k;fs;klfjsk;lfj ;klfjk;alfjk;alfjk;lfjk;lfjlkf kl;ajf akl;sfj sk;fk;lfjsk;ldfjsk;lfjsk;lfjsklfjkl;s fjklsafj kslfjkl fjklasfjklajfklafjaksdlfj lsdkf jsklfskl;f skld fjlk;sfklsfj ksff;kjdsfj sfkl;fkl;fklklfjlk;";
CGSize labelSize = [self.label.text sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(280, CGFLOAT_MAX)]; // 280 is the width of the label set in IB
self.heightCon.constant = labelSize.height;
self.scrollView.contentSize = CGSizeMake(self.scrollView.contentSize.width, labelSize.height +120);

}

在此示例中,heightCon 是 IB 中制作的标签的高度约束的 IBOutlet。我在 viewDidLoad 中执行了此操作,但无论何时用文本填充标签,您都需要执行此操作。

关于ios - 创建免责声明屏幕,用户必须一直向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17530272/

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