gpt4 book ai didi

objective-c - 从另一个 ViewController 设置 UIScrollView 的位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:12:31 25 4
gpt4 key购买 nike

我正在尝试使用 contentOffset 来设置 UIScrollView 的位置:

- (void) navigateToTableViewPosition:(CGPoint)contentOffset {
NSLog(@"Position set method gets called...");
NSLog(@"%@", NSStringFromCGPoint(contentOffset));
[mainScrollView setContentOffset:contentOffset animated:YES];
}

我在关闭它之前从另一个 View Controller 调用了这个方法,然后一切都检查完毕。我正确地传递了参数,并且调用了方法(用 NSLog 检查了它),但是 ScrollView 没有移动......

有趣的是,当我从它所在的 View Controller 调用这个方法时,它工作正常。只有当我从另一个 View Controller 调用它时,它才会停止工作。

仅供日后引用,调用方法如下:

MainViewController *mainView = [[MainViewController alloc] init];
[mainView navigateToTableViewPosition:contentOffset];

Content offset是我事先设置的一个CGPoint。这里没关系;此外,无论如何它都会正确通过。

最佳答案

试试这个,当你想改变时,你必须从其他 viewcontrollersend notification..

    [[NSNotificationCenter defaultCenter] postNotificationName:@"changepostion"        object:NSStringFromCGPoint(CGPointMake(contentOffset.x, contentOffset.y))];

mainviewcontroller

  -(void)viewDidLoad

{
[[NSNotificationCenter defaultCenter] removeObserver:self];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(navigateToTableViewPosition:) name:@"changepostion" object:nil];

}

- (void) navigateToTableViewPosition:(NSNotification *)notification
{
contentOffset =CGPointFromString([notification object]);

NSLog(@"Position set method gets called...");
NSLog(@"%@", NSStringFromCGPoint(contentOffset));
[mainScrollView setContentOffset:contentOffset animated:YES];
}

关于objective-c - 从另一个 ViewController 设置 UIScrollView 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039488/

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