2011-09-20 25 views
0

addSubview到super.superView

mainView_a-> ScrollView_b-> ScrollView_c-> View_d->按鈕

和按鈕touchUpInside我需要addSubView到ScrollView_b 是possigle後????

我試過[super.super addSubview:myNewView];

-(IBAction)showPhotoGallery:(id) sender 
{ 
    UIScrollView *photoGalleryScV = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 200, 800)]; 
    photoGalleryScV.backgroundColor = [UIColor redColor]; 

    [super.super addSubview:photoGalleryScV]; 

    //[photoGalleryScV release]; 
} 

它不工作:(

回答

0

super是指你的類的父類,而不是上海華關鍵字

嘗試

[self.superview.superview.superview addSubview:photoGalleryScV]; 

這樣:

  • self在Button
  • self.superview是view_d
  • self.superview.superview是scrollview_c
  • self.superview.superview.superview是scrollview_b

雖然這似乎有點脆弱,你可以使用應用程序委託的主視圖或根控制器和工作下來比較好代替?

0

self在該代碼中通常不是按鈕。 self將是一個UIViewController。 sender將是UIButton。因此

[sender.superview.superview.superview addSubview:photoGalleryScV]; 

可能工作。

無論您如何在視圖結構中重新排列視圖,都可以在視圖控制器中定義一個指向ScrollView_b的出口。在界面構建器中進行連接(或者如果您願意,可以在loadView中的代碼中進行連接)。然後

[self.scrollView_b addSubview:photoGalleryScV];