我是IOS编程的新手,我有一个tableview,当我在表格中选择一个项目时会拉出详细视图。详细视图具有标题,图片,底部是文本视图。所有这些项目都在滚动视图中。我希望整个页面不仅滚动文本。问题是textview是可滚动的,所以我有2个滚动,一个用于视图的主滚动,第二个用于文本,我需要的是组合两个滚动,这意味着我想要滚动时视图,文本立即滚动。
这是关于视图的截图:
并且滚动被禁用:
这是在更新高度约束
之后
这是scrollview属性的屏幕截图
代码是:
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);
非常感谢,
答案 0 :(得分:3)
尝试这样,
在你的情况下,根据文本动态设置textview框架并禁用textView的滚动。并将textview添加到scrollview。
取消选择滚动启用textview。
答案 1 :(得分:1)
在您的情况下,由于UITextView的高度小于文本的高度,因此它显示滚动。
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的示例中,scrollview将显示滚动属性,因为scrollview的内容高度大于屏幕高度(iphone 4s时的屏幕大小 - (320,480) );
答案 2 :(得分: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