1

我是 IOS 编程新手,我有一个表格视图,当我选择表格中的一个项目时会拉出一个详细视图。详细视图有标题、图片和底部的文本视图。所有这些项目都在滚动视图中。我希望整个页面滚动而不仅仅是文本。问题是textview是可滚动的,所以我有2个滚动,一个用于视图的主滚动,第二个用于文本,我需要将两个滚动结合起来,这意味着我滚动时想要视图中,文本立即随之滚动。

这是关于视图的屏幕截图:

在此处输入图像描述

并且滚动被禁用:

在此处输入图像描述

这是在更新高度约束之后

在此处输入图像描述

这是滚动视图属性的屏幕截图

在此处输入图像描述

代码是:

        NSString *text =[[jsonResults objectAtIndex:0] objectForKey:@"content"];

    CGSize textSize = [text sizeWithFont:[UIFont systemFontOfSize:14]
                       constrainedToSize:CGSizeMake(300, 5000) lineBreakMode:NSLineBreakByCharWrapping];

    [self.detailTextView setFrame:CGRectMake(self.detailTextView.frame.origin.x,self.detailTextView.frame.origin.y,textSize.width,textSize.height)];

    [self.detailTextView setText:text];
scroll.ContentSize=CGSizeMake(320,1000);

十分感谢,

4

3 回答 3

3

试试这样

在您的情况下,请根据文本动态设置 textview 框架并禁用 textView 的滚动并将 textview 添加到滚动视图。

在此处输入图像描述

取消选择 textview 的滚动启用。

于 2013-04-30T09:50:41.803 回答
1

在此处输入图像描述

在您的情况下,由于 UITextView 的高度小于 Text 的高度,因此它显示滚动。

UITextView *textView=[[UITextView alloc] init];

NSString *text = @"Your Text Here";

CGSize textSize = [text sizeWithFont:[UIFont fontWithName:@"YourFontName" size:YourFontSize]
                   constrainedToSize:CGSizeMake(MaximumWidthForTextView, MaximumHeightForTextView) lineBreakMode:NSLineBreakByWordWrapping];

[textView setFrame:CGRectMake(textView.frame.origin.x,textView.frame.origin.y,textSize.width,textSize.height)];

[textView setText:text];
[self.scrollView addSubview:textView];

float scrollViewContentHeight = textView.frame.origin.y+textView.frame.size.height+20;
[self.scrollView setContentSize:CGSizeMake(320,scrollViewContentHeight)];

通过这样做,您的 textview 将不再显示滚动。现在第二个问题是关于 UIScrollView 的滚动。为了在 UIScrollView 中引入滚动,您需要设置 scrollview 的内容大小。例如:-

[scrollView setContentSize:CGSizeMake:(320 , 600 )];

在以下示例中,我将内容大小设置为 320,600 ,滚动视图将显示滚动属性,因为滚动视图的内容高度大于屏幕高度(iphone 4s 的屏幕大小 - (320,480));

于 2013-04-30T10:12:40.553 回答
0

给你的

我希望整个页面滚动而不仅仅是文本

 1)It will happen only if the contentSize of your view is larger than the screen size

例如(如果屏幕为 420 并且您的内容接近 600,则滚动视图将滚动)

我希望当我滚动视图时,文本会立即随之滚动。

2) If the content of the text inside your UITextView is more than the height of the UITextView then automatically your textView will scroll
于 2013-04-30T09:47:55.807 回答