我無法理解這一點 - 我知道它一定很簡單..我開始覺得很愚蠢。我有兩個viewControllers。 MainViewController.h/m和LevelsViewController.h/m用新的起源添加一個更小的子視圖
我想添加一個來自LevelsViewController類的子視圖和一個名爲levelsView的IB視圖。我從MainViewController.m文件調用它。 levelsView只有200x200像素,我想通過x = 140像素和y = 50像素將它從超級視圖的幀源偏移。
我有這個工作 - 視圖顯示,但我無法弄清楚如何抵消它。它只出現在0,0 superView框架的原點上。 (superView顯示在它下面,這是我想要的)。
這是我在MainViewController.m中顯示levelsView的方法中調用的代碼(我已經評論了一些我嘗試過的東西 - 但會拋出此錯誤:錯誤:請求成員'frame'在 'myLevelsView',其是非類類型的 'LevelsViewController *'
)
- (void) displayLevelsPage {
if (self.theLevelsView == nil) // Does not yet exist - therefore create
{
LevelsViewController * myLevelsView = [[LevelsViewController alloc] initWithNibName:@"levelsView" bundle:[NSBundle mainBundle]];
NSLog(@"NEW theLevelsView instance created!");
CGRect frame2 = CGRectMake(140, 50, 200, 200);
//myLevelsView.frame = frame2;
self.theLevelsView = myLevelsView;
[myLevelsView release];
}
[self.view addSubview: theLevelsView.view];
NSLog(@"Levels View has been activated");
}
任何瞭解,將不勝感激。
謝謝 - 解決了這個問題。是的 - 我意識到ViewController問題,但認爲通過setUserInteractionEnabled禁用superView上的所有用戶交互:NO,我可以避開它。也許不是最好的策略。 – ReachWest 2010-04-27 01:16:36