0

我需要一个包含(标题、图像和详细信息)的视图,详细信息是关于文本视图的。

我需要的是,允许滚动到所有视图,而不仅仅是 texview。在我的应用程序中,如果我禁用滚动,则 textview 会被剪切,因为高度不是动态的:

在此处输入图像描述

在我的代码中,我这样写:

  CGRect frame = self.detailTextView.frame;
  frame.size.height = self.detailTextView.contentSize.height;
  self.detailTextView.frame = frame;
  [self.detailTextView sizeToFit];
  self.detailTextView.text = [[fastResults objectAtIndex:0] objectForKey:@"content"];

其中 fastResults 是一个包含数据的字典。

我需要像 bbc 应用程序这样的视图:

在此处输入图像描述

所以,我需要让 textview 的高度是动态的,并让所有的视图都可以一起滚动。注意:所有这些元素都在滚动视图中。

这是我的界面生成器:

在此处输入图像描述

谢谢您的帮助;

4

2 回答 2

0

首先,您必须在调整其大小之前在文本视图上设置文本。所以你应该有类似的东西:

  self.detailTextView.text = [[fastResults objectAtIndex:0] objectForKey:@"content"];
  CGRect frame = self.detailTextView.frame;
  frame.size.height = self.detailTextView.contentSize.height;
  self.detailTextView.frame = frame;
//  [self.detailTextView sizeToFit]; you don't need this anymore

//after you resized the self.details.textView you have to change the scrollview content size 

yourScrollView.contentSize = CGSizeMake(yourScrollView.contentSize.width, 
                                       yourImageHeight + yourTitleHeight + self.detailsTextView.frame.size.height);
于 2013-05-11T09:47:26.930 回答
0

您可以首先获取要放入 textview 的 NSString 的高度(请参阅this),然后将 textview 的高度设置为字符串的计算高度。
也许,如果 textview 的高度大于 scrollview contentSize 的高度,您还必须将 scrollview 的 contentSize 的高度调整为 textview 框架的高度。然后禁用文本视图上的滚动。

于 2013-05-11T09:56:13.967 回答