gpt4 book ai didi

ios - 从其他 ViewController 访问 UIScrollView

转载 作者:行者123 更新时间:2023-11-29 04:22:00 25 4
gpt4 key购买 nike

我有一个 View Controller ,如果我按下一个按钮,另一个 View Controller 会被加载,但第一个不会被卸载。我想从第二个 View Controller 访问第一个 View Controller 的变量,实际上是 UIScrollView,这样我就可以这样使用它:

scroll1.hidden = YES;

我该怎么做?我尝试导入 .h 文件,但仍然无法使用 UIScrollView

编辑:

NSArray* stack = [self.navigationController viewControllers];
NSInteger currentIndex = [stack indexOfObject:self];
ViewController* linkToA = (ViewController*)[stack objectAtIndex:currentIndex - 1];

[linkToA.scroll1.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
[linkToA.scroll1 addSubview:linkToA.backgroundImage];

ViewController *linkToA = [[ViewController alloc] init];
linkToA = (ViewController*)self.presentingViewController;

[linkToA.scroll1.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
[linkToA.scroll1 addSubview:linkToA.backgroundImage];

最佳答案

只需确保第一个 View Controller 在标题中具有 ScrollView 的属性:

@property (nonatomic, strong) UIScrollView *scrollView;

如果您没有最新的 xcode,请将 @synthesize scrollView 放入第一个 Controller 的实现

假设您的第一个 Controller 是 A,第二个 Controller 是 B

如果 B 是作为模态添加的,则使用:

linkToA = (A*)B.presentingViewController;

如果B被添加到navigationControllerStack中:

NSArray* stack = [B.navigationController viewControllers];
NSInteger currentIndex = [stack indexOfObject:B];
linkToA = (A*)[stack objectAtIndex:currentIndex - 1];

有了 linkToA 之后你必须做

linkToA.scrollView.hidden = YES;

希望这会有所帮助

关于ios - 从其他 ViewController 访问 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12863006/

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