0

我想在 IB 中构建一个大视图,然后将其添加到我的滚动视图中。为此,我已按照这些说明进行操作。

我的视图在滚动视图中正确绘制,但无法滚动。我记录了内容大小,一切都是正确的:Content view size: 320.000000 x 714.000000

当我[self.view addSubview:self.contentView];[self.view addSubview:[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)]];滚动视图替换时,正如预期的那样,它是空的,但至少显示了滚动条并且我可以滚动。我在 nib 文件中的视图有问题吗?

这是我的viewDidLoad

[super viewDidLoad];
[self.navigationController setToolbarHidden:YES animated:YES];

NSLog(
    @"Content view size: %f x %f",
    _contentView.frame.size.width,
    _contentView.frame.size.height);
[self.view addSubview:self.contentView];
((UIScrollView *)self.view).contentSize = self.contentView.frame.size;

我的代码中唯一的区别是,我在导航控制器中有滚动视图。这有什么区别吗?

4

2 回答 2

1

问题出在第 4 点,即“将文件所有者的视图出口设置为滚动视图”。而不是在头文件中设置滚动视图的出口。并像这样更改 viewDidLoad 的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [scrollview addSubview:self.contentView];
    scrollview.contentSize = self.contentView.frame.size;
}

然后它的工作完美。

于 2013-02-05T12:06:08.703 回答
0

它应该如下所示

//Considering self.contentView as UIScrollView added in xib
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0,0,320,700)];
[self.contentView addSubView:view];
[self.contentView setContentSize:CGSizeMake(320,700)];

上面的代码应该可以正常工作..

于 2013-02-05T11:39:33.513 回答