iphone - 如何动态设置UIScrollView的内容大小

标签 iphone objective-c uiview uiscrollview

我有关于 UIScrollview 的问题。

故事是我有一个名为 ChartsView 的 UIView,我通过覆盖方法 drawRect() 自己重新绘制了它。绘图内容是动态生成的。所以直到运行时我才知道它的大小。问题是我如何/在哪里可以动态设置其 super View (scrollView) 的内容大小?对此有什么想法吗?

    - (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);
}

关于iphone - 如何动态设置UIScrollView的内容大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10518790/

相关文章:

iphone - 如何让 UIScrollView 中的 subview 在缩放时刷新?

iphone - 如何删除所有 performSelector :withObject:afterDelay:?

iphone - 使用 CLGeocoder 查找纬度和经度

iOS - 当用户在设置中手动打开推送通知时的委托(delegate)方法

iOS ,是否可以从文件中读取 objective-c 代码并在程序的特定点执行它?

ios - 缩放后无法平移 UIScrollView

ios - UIWebView 内存泄漏。释放未使用资源的魔法是什么?

iphone - 复合谓词不起作用

ios - UIToolbar 和 CGRectMake

ios - 如何通过 objective-c (对于对话页面)增加表格 View 中的标签或 TextView 大小(高度和宽度)你能帮帮我吗?