2

の へのアクセスに問題がContentOffsetありUIScrollViewます。以前はこれで問題はありませんでしたが、今回はUIScrollViewが にContainer ViewリンクされていViewControllerます。

私の状況をよりよく理解するために、スキームと写真を次に示します。

MenuViewController =>コンテナー ビュー=> ScrollView1ViewController => ScrollView1

ここに画像の説明を入力

UIScrollView私が取得しなければならない は、 のをContentOffset使用してリンクさIBOutletれていScrollView1ViewController.hます。

だから私の質問は: からのContentOffsetを知ることは可能ですか? 内部にIBOutletをインポートするかもしれませんUIScrollViewMenuViewController.mScrollView1ViewController.hMenuViewController.m

ScrollView1ViewController.h

#import <UIKit/UIKit.h>

@interface ScrollView1ViewController : UIViewController <UIScrollViewDelegate>
{
}

@property (weak, nonatomic)    IBOutlet    UIScrollView    *scrollView1;

@end

MenuViewController.m

#import "MenuViewController.h"
#import "ScrollView1ViewController.h"

@interface MenuViewController ()
{
}

@property (strong, nonatomic)    ScrollView1ViewController    *sV1VC;
@property (weak, nonatomic)      UIScrollView                 *scrollView1;

@end

/***/

- (void)scrollForward
{
    self.offsetPoint = self.scrollView1.contentOffset.x;

    if ((self.offsetPoint == 0))
    {
        [self.scrollView1 setContentOffset:CGPointMake(270, 0) animated:YES];
    }
}

私の問題をよりよく理解するためにさらにコードや写真が必要な場合は、遠慮なく私に尋ねてください。

ありがとう

4

2 に答える 2

1

これを確認できる 1 つの方法は、ScrollView1ViewController でスクロールビューの contentOffset を返す関数を作成する場合です。

- (CGRect)returnContentOffSet
{
    return myScrollView.contentOffset;
}

そしてMenuViewControllerからそのメソッドを呼び出そうとします

于 2014-07-24T08:48:22.000 に答える
0

コンテナー ビュー コントローラーをセットアップするとき、複数のサブ ビュー コントローラーがある場合は、ScrollView1ViewController への参照をプロパティまたは配列内のインスタンスとして格納しておく必要があります。

@interface MenuViewController

@property (nonatomic, strong) ScrollView1ViewController *subVC1;
...

@end

したがって、ScrollView1ViewController への参照があるとすれば、次のことはできません。

// ------------------------------------------------
// Example button tap to get scrollview offset
// this method is inside your MenuViewController.m
// ------------------------------------------------
-(void)buttonTapped:(id)sender
{
    CGPoint contentOffset = self.subVC1.scrollView.contentOffset;

    NSLog(@"ScrollView contentOffset = %lf, %lf", contentOffset.x, contentOffset.y);
}

ノート:

ここでは、ScrollView1ViewController で、プロパティとして scrollView への参照があると想定しています。

それは役に立ちますか?

于 2014-07-24T08:48:01.550 に答える