2012-04-04 50 views
2

這是我的代碼,我正在嘗試創建一個子視圖...我在StoryBoards上使用XCode4。該應用程序正在崩潰的第二行,它與EXC_BAD_ACCESS分配子視圖。 vFrame具有有效的內容。這有什麼問題? (我用故事板的XCode4,順便說一句)。爲什麼這段代碼不會分配一個子視圖?

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    CGRect vFrame = CGRectMake(60,100,200,200); 
    subView = [[UIView alloc] initWithFrame:vFrame]; 
    subView.backgroundColor = [UIColor redColor]; 
    [self.view addSubview: subView]; 
} 

更新:定義子視圖:

@interface PreferencesViewController : UIViewController { 

    UIView *subView; 
} 

@property (nonatomic, retain) UIView *subView; 

@end 
+0

什麼是subView?它是在什麼地方定義的? – 2012-04-04 19:41:03

+0

已更新的問題... – SpokaneDude 2012-04-04 19:42:23

+0

我創建了一個包含故事板(Xcode 4.2,SDK 5.0)的測試項目並粘貼到您的代碼中:沒問題。嘗試在Objective-C異常處設置斷點,或捕獲異常,並查看堆棧符號的外觀。 – 2012-04-04 20:20:02

回答

0

問題是UIViewController被弄得......不知道如何,但一旦它被替換,它就像一個冠軍!謝謝大家的回覆...

1

這確實應該工作。您的視圖控制器(PreferencesViewController)是否正確地分配和初始化?你在合成你的子視圖嗎?

雖然不應該出現問題,但您可以嘗試使用CGRect的浮點數(在每個數的末尾添加一個.0)。

+0

嗨亞當...是的,subView是@ synthesiz'ed ...浮動沒有什麼區別...它是XCode4與故事板?而且我知道它已經進入了PreferencesViewController,因爲這就是代碼所在的地方......我不知道它是否是一個XCode4錯誤? – SpokaneDude 2012-04-04 20:11:31

+0

ADam ...去昨天Q(http://stackoverflow.com/questions/10015985/how-to-move-this-colorpicker-from-iphone-to-a-portion-of-ipad-scene):和看我最近的評論... – SpokaneDude 2012-04-04 20:12:23

1

嘗試將您的子視圖實例化代碼移動到您的主視圖的方法viewWillAppear。這保證了一切都已經初始化。