2013-08-19 53 views
1

我完全不熟悉Xcode和Objective C,但通過本站的幫助獲得了應用程序的工作原型。但目前我在經過近一天的研究和試用&錯誤後,未找到針對以下問題的任何解決方案。如何從另一個ClassB滾動到ClassA中的UIScrollView頂部

我正在使用故事板。

我有兩個類:ClassAClassB

ClassA的具有containerView保持另一個ViewController這就是等級爲B級類。

ViewControllercontainerView內モ的UIScrollView(在ClassB的定義),我要能夠滾動從ClassA到頂部。

它可以在同一類(ClassB的)與此代碼...

[Scroller setContentOffset:CGPointZero animated:NO];

...但不從另一個類(ClassA的)

我如何訪問IBOutlet中UIScrollViewClassBClassA並告訴它向上滾動?

非常感謝您的幫助!

回答

1

你必須定義伊娃爲@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]; 
+0

謝謝朱利安!我必須使用什麼來代替「instanceB」 – Stephan

+0

這將是'ClassB'的一個實例。我認爲'containerView'包含的'classB'類的viewController可以是'IBOutlet'或是'ClassA'的本地iVar。所以你必須指向你的第二個viewController。如果你只在XIB上使用它,並且沒有插座,只需創建一個。 –

+0

如果你沒有得到它,請發佈'ClassA'的接口,以便我可以看到它可能是什麼變量。 –

相關問題