本文介绍了如何动态设置UIScrollView的内容大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对 UIScrollview
提出疑问。
故事是我有 UIView
命名为ChartsView,我自己通过覆盖方法 drawRect()
重新绘制它。绘图的内容是动态生成的。所以直到运行时我才知道它的大小。问题是如何/在哪里可以动态设置其超级视图(scrollView)内容大小?有任何想法吗?
The story is I have a UIView
named ChartsView which I re-draw it myself by override method drawRect()
. The content of drawing was generated dynamically. So I do not know its size until runtime. The question is how/where can I set its super view's (scrollView) content size dynamically?Any idea about that?
- (void)viewDidLoad
{
[super viewDidLoad];
// not this way. it's fixed size.....
ChartsView *chartsView = [[ChartsView alloc]initWithFrame:CGRectMake(0, 0, 320, 800)];
self.scrollView.contentSize = chartsView.frame.size;
[self.scrollView addSubview:chartsView];
}
推荐答案
还有一个简单方法
- (void)viewDidLoad
{
float sizeOfContent = 0;
UIView *lLast = [scrollView.subviews lastObject];
NSInteger wd = lLast.frame.origin.y;
NSInteger ht = lLast.frame.size.height;
sizeOfContent = wd+ht;
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, sizeOfContent);
}
这篇关于如何动态设置UIScrollView的内容大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!