gpt4 book ai didi

ios - 自定义 View xib 上的 UIScrollView 在通过 addSubView 调用时不滚动

转载 作者:行者123 更新时间:2023-11-29 11:31:56 32 4
gpt4 key购买 nike

我在 XIB 中有一个高度为 800 的自定义 View ,如图所示:

enter image description here

这是层次结构:

enter image description here

这是我的 customView.m 上的代码:

- (id)initWithFrame:(CGRect)frame
{
NSLog(@"initWithFrame");
self = [super initWithFrame:frame];
if (self) {
[self setup];
}
return self;
}

- (id)initWithCoder:(NSCoder *)aDecoder {
NSLog(@"initWithCoder");
self = [super initWithCoder:aDecoder];
if(self) {
[self setup];
}
return self;
}

- (void)setup {

[[NSBundle mainBundle] loadNibNamed:@"customView" owner:self options:nil];
[self addSubview:self.view];
self.view.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, CGRectGetHeight(self.view.frame));
//[self.myscrollview setContentSize:CGSizeMake([[UIScreen mainScreen] bounds].size.width, 2000)];
NSLog(@"contentSize Height :%f", self.myscrollview.contentSize.height);
NSLog(@"contentView Height :%f", self.contentView.frame.size.height);
}

并在我的 viewController View 上添加 subview 自定义 View :

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

customView *myView = [[customView alloc] init];

[self.view addSubview:myView];

}

它已加载,但 scrollView 没有滚动。然后我检查它返回 800 的 customView 和 contentView 高度,但它返回 0 的 scrollView contentSize 高度。所以我尝试将 contentSize 设置为 2000,但它仍然没有滚动。让我感到困惑的是,为什么我将 scrollView 的 trailing, leading, bottom 和 top 0 设置为 superView 后它不跟随 contentView 高度,而是返回 0。那我应该如何设置 contentSize?

nb: contentView 的高度和宽度等于 superView 并且优先级设置为 250

github : project example

最佳答案

那是因为你没有为myView设置frame。将您的 viewDidLoad 方法替换为以下代码,它将按预期工作

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
customView *customV = [[customView alloc] initWithFrame:self.wantToShowHereView.bounds];
[self.wantToShowHereView addSubview:customV];
}

关于ios - 自定义 View xib 上的 UIScrollView 在通过 addSubView 调用时不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52693942/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com