0

私は iPad アプリに取り組んでおり、プログラムに UISplitview を利用しています。私のプログラムのメインの詳細ビューには、2 つのラベルを追加する uiscrollview があります。

  UIScrollView *scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0,0, self.view.frame.size.width,self.view.frame.size.height)];
    scroll.contentSize=CGSizeMake(320, 1600);
    scroll.showsHorizontalScrollIndicator=YES;
    scroll.backgroundColor=[UIColor clearColor];

    [self.view addSubview:scroll];

これは、最初のメイン ページで作成するコードです。次に、2 番目のビューをプッシュするとします。その 2 番目のビューから、次のように言うことですべてにアクセスできます。

 [self.detailViewController.view addSubview:detailViewController.Image];

しかし、サブビューにラベルを追加しようとすると、

[self.detailViewController.view.scoll...

しかし、スクロールオブジェクトが見つかりませんが、最初のビューで設定されたスクロールの背景が2番目のビューに表示されます。AND i は最初のビューの背景を変更できません。

最初のスクロール ビューの上に 2 番目のスクロール ビューを作成することにしましたが (これは機能します)、プログラム全体で作成した最初のビューにアクセスする方法を知っています。しかし、必要なすべてのビューを作成する必要がある場合は、それらを何らかの形で削除または解放できるようにしたいので、スクロールビューからの画像がスクロールビュー 3 に転送されないようにする必要があります。

ありがとうございました

4

1 に答える 1

0

他のクラスからアクセスするすべての変数のプロパティを作成する必要があります。だからあなたの場合

DetailsViewController.h

@interface DetailsViewController : UIViewController {

  // class member variables here that can be accessed
  // anywhere in your class (only in your class)
}

@property(nonatomic, strong)
    //retain instead of strong if you are not using ARC or other types (weak, copy, readonly)
     SomeClassThatYouHave *propertyThatCanBeAccessed
//declare here public instance methods
@end

DetailsViewController.mには、次のものが含まれます。

@interface DetailsViewController (Private)
//declare private methods here or private properties
@end

@implementation DetailsViewController
@synthesize propertyThatCanBeAccessed;

//methods implementation here
@end

DetailsViewControllerこれで、好きなプロパティにアクセスできますがdetailsViewControllerInstance.propertyThatCanBeAccessed、インスタンスを割り当て/初期化する必要があります。

これにより、将来のクラス構造のアイデアが得られることを願っています。

于 2013-05-31T18:42:45.990 に答える