Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa touch 如何从另一个ClassB滚动到ClassA中的UIScrollView顶部_Cocoa Touch_Uiscrollview - Fatal编程技术网

Cocoa touch 如何从另一个ClassB滚动到ClassA中的UIScrollView顶部

Cocoa touch 如何从另一个ClassB滚动到ClassA中的UIScrollView顶部,cocoa-touch,uiscrollview,Cocoa Touch,Uiscrollview,我对Xcode和Objective C完全不熟悉,但在这个网站的帮助下,我成功地获得了一个应用程序的工作原型。但是,经过近一天的研究和尝试,目前我没有找到任何解决以下问题的方法 我在用故事板 我有两门课:ClassA和ClassB ClassA有一个containerView,其中包含另一个ViewController,该类为ClassB containerView中的ViewController包含一个UIScrollView(在ClassB中定义),我希望能够从ClassA滚动到顶部 它与此

我对Xcode和Objective C完全不熟悉,但在这个网站的帮助下,我成功地获得了一个应用程序的工作原型。但是,经过近一天的研究和尝试,目前我没有找到任何解决以下问题的方法

我在用故事板

我有两门课:
ClassA
ClassB

ClassA有一个
containerView
,其中包含另一个
ViewController
,该类为ClassB

containerView
中的
ViewController
包含一个UIScrollView(在ClassB中定义),我希望能够从
ClassA
滚动到顶部

它与此代码在同一类(ClassB)中工作

[滚动条设置内容偏移量:CGPointZero动画:否]

…但不是来自另一个类(ClassA)

如何从
ClassA
访问
ClassB
中的IBOutlet
UIScrollView
,并告诉它向上滚动


非常感谢你的帮助

必须将iVar定义为
@property

@interface ClassB : UIViewController {
    // don't define it here as iVar like: IBOutlet UIScrollView *Scroller;
}

@property (nonatomic, strong) IBOutlet UIScrollView *Scroller; // but define it here as property
然后,您可以在
ClassA
中这样访问滚动视图:

[[instanceB Scroller] setContentOffset:CGPointZero animated:NO];
ClassB中也是这样

[_Scroller setContentOffset:CGPointZero animated:NO];

必须将iVar定义为
@property

@interface ClassB : UIViewController {
    // don't define it here as iVar like: IBOutlet UIScrollView *Scroller;
}

@property (nonatomic, strong) IBOutlet UIScrollView *Scroller; // but define it here as property
然后,您可以在
ClassA
中这样访问滚动视图:

[[instanceB Scroller] setContentOffset:CGPointZero animated:NO];
ClassB中也是这样

[_Scroller setContentOffset:CGPointZero animated:NO];

谢谢朱利安!我必须使用什么来代替“instanceB”这将是
ClassB
的一个实例。我假设
containerView
中包含的、属于
ClassB
类的viewController是
IBOutlet
ClassA
的本地iVar。因此,您必须指向第二个viewController。如果您只在XIB中使用它,并且没有出口,只需创建一个。如果您没有获得它,请发布
ClassA
的界面,以便我可以看到它可能是什么变量。是的,它是一个IBOutlet:在ClassA.h中,我写了:“IBOutlet UIView*RateEntryContainerView”;滚动程序名为“ScrollerEntryDetailRate”您需要一个类型为
ClassB
的插座,因此
IBOutlet ClassB*ratentrycontainerservicewcontroller
并将其连接到视图控制器,而不是视图本身。谢谢Julian!我必须使用什么来代替“instanceB”这将是
ClassB
的一个实例。我假设
containerView
中包含的、属于
ClassB
类的viewController是
IBOutlet
ClassA
的本地iVar。因此,您必须指向第二个viewController。如果您只在XIB中使用它,并且没有出口,只需创建一个。如果您没有获得它,请发布
ClassA
的界面,以便我可以看到它可能是什么变量。是的,它是一个IBOutlet:在ClassA.h中,我写了:“IBOutlet UIView*RateEntryContainerView”;滚动程序名为“ScrollerEntryDetailRate”您需要一个类型为
ClassB
的插座,因此
IBOutlet ClassB*ratentrycontainerservicewcontroller
并将其连接到视图控制器,而不是视图本身。