滚动视图内容大小在ipad中的问题

时间:2010-11-10 16:47:03

标签: ipad uiscrollview contentsize

在viewdidload中我有这段代码:

[methodPanes setContentSize:CGSizeMake(numberOfPages*methodPanes.frame.size.width, 100)];

方法窗格相对于self.view的宽度设置。

问题是,如果我在iPad和NSLog methodPanes.frame.size.width上加载横向格式的视图,我会得到 648 (这显然是错误的)。

然后我有一个按钮,当我点击它时,一旦显示视图,它会再次显示NS methodPanes.frame.size.width。现在 924 (更喜欢它)。

我假设由于某种原因滚动视图加载为648宽,然后自动调整到视图宽度(设置为UIViewAutoresizingFlexibleWidth以在旋转ipad时正确地重新调整尺寸)。

我的问题是我的methodPanes scrollview内容的内容大小应该是numberOfPages x its frame width,但在viewDidLoad中,它给我的methodPanes框架宽度错误,这意味着我的内容太小,意味着我的所有内容没有显示。

所以.....我该如何解决这个问题?是否有一个函数在所有UI组件加载并停止移动后运行?或者我可以对methodPanes进行“检查”以查看其宽度是否发生变化,然后相应地调整内容大小?

由于

1 个答案:

答案 0 :(得分:4)

允许运行循环运行后获取宽度。到那时,视图尺寸将更新为方向。这通常就足够了:

- (void)adjustContentSize {
    [methodPanes setContentSize:CGSizeMake(numberOfPages*methodPanes.frame.size.width, 100)];
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self performSelector:@selector(adjustContentSize) withObject:nil afterDelay:0.0];
}