gpt4 book ai didi

ios - UIScrollView 委托(delegate)属性无法正常工作

转载 作者:行者123 更新时间:2023-11-29 10:40:08 25 4
gpt4 key购买 nike

我的问题是我的 scrollView 的属性(这个词对吗?)不起作用。我正在尝试让 scrollView 翻页,但它似乎忽略了我的代码行

[scrollView setPagingEnabled:YES];

scrollView 上下滚动以及左右滚动(已设置 contentSize),但它不会捕捉到页面,并且测试其他不起作用的委托(delegate)属性似乎问题是由于这个。

似乎我在声明委托(delegate)时做错了什么,委托(delegate)应该是 self 的。这是我的 .h 的 header ,它使 DayViewController 成为 UIScrollView 委托(delegate)

@interface DayViewController : UIViewController <UIScrollViewDelegate> {
UIScrollView *scrollView;
//other code......
}

这是我的 .m 文件的相关部分,其中委托(delegate)设置为 self ,我尝试调整 UIScrollView 的属性。

- (void)viewDidLoad
{
[super viewDidLoad];
tester = [Global tester];
cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
viewsInMemory = [[NSMutableArray alloc] init];

for (int i = 0; i < 3; i++) {
[viewsInMemory insertObject:[NSNull null] atIndex:i];
}

scrollView = [[UIScrollView alloc] init];
scrollView.delegate = self;
[scrollView setScrollEnabled:YES];
[scrollView setPagingEnabled:YES];
scrollView = [[UIScrollView alloc] initWithFrame:(CGRectMake(0, 0, 320, self.view.frame.size.height))];
scrollView.backgroundColor = [UIColor lightGrayColor];

[self loadInitialDays];


[scrollView addSubview:(currentDayView)];
[self.view addSubview:(scrollView)];

}

我知道我的代码的其他部分可能看起来效率低下或其他什么,但这不是我寻求帮助的目的。我唯一需要的是让你们中的一位出色的人弄清楚委托(delegate)为什么不工作。非常感谢!

最佳答案

问题出在这一行:

scrollView = [[UIScrollView alloc] initWithFrame:(CGRectMake(0, 0, 320, self.view.frame.size.height))];

您正在重新初始化 scrollView,因此上述所有属性都将被忽略,实际设置的唯一属性是 backgroundColor 属性。

要修复此更改此行:

scrollView = [[UIScrollView alloc] init];

scrollView = [[UIScrollView alloc] initWithFrame:(CGRectMake(0, 0, 320, self.view.frame.size.height))];

所以你的最终代码是这样的:

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.frame.size.height)];
scrollView.delegate = self;
[scrollView setScrollEnabled:YES];
[scrollView setPagingEnabled:YES];
scrollView.backgroundColor = [UIColor lightGrayColor];

关于ios - UIScrollView 委托(delegate)属性无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966184/

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