2

これは、サブビューを作成しようとしている私のコードです...StoryBoardsでXCode4を使用しています。アプリは、EXC_BAD_ACCESSでsubViewを割り当てている2行目でクラッシュしています。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];
}

更新:subViewの定義:

@interface PreferencesViewController : UIViewController  {

    UIView *subView;
}

@property (nonatomic, retain)  UIView *subView;

@end
4

3 に答える 3

1

それは本当にうまくいくはずです。ビューコントローラ(PreferencesViewController)は適切に割り当てられ、初期化されましたか?サブビューを@合成しましたか?

問題ではありませんが、CGRectにfloatを使用してみることができます(それぞれの末尾に.0を追加します)。

于 2012-04-04T19:40:13.990 に答える
1

サブビューのインスタンス化コードをメインビューのメソッドviewWillAppearに移動してみてください。これにより、すべてが初期化されていることが保証されます。

于 2012-04-04T21:05:04.277 に答える
0

問題は、UIViewControllerが機能していなかったことです...方法はわかりませんが、交換すると、チャンピオンのように機能しました。ご回答ありがとうございます...

于 2012-04-04T22:14:25.070 に答える