0

そのため、既存のウィンドウ内にカスタム ビューを描画する際に問題が発生しています。GraphViewビューに値のグラフを描画するために使用するカスタム クラスがあります。グラフは毎秒渡された変数を取得し、 を介して再描画する必要がありますsetNeedsDisplay:YES。この同じクラスをスタンドアロンの xCode プロジェクトで機能させることはできますが、これを機能させるには、Interface Builder のカスタム ビューから にコントロールを押しながらドラッグする必要がFile's Ownerあり、ビューが再描画されます。すべての描画コードはスタンドアロンの xCode プロジェクトで正しく機能するので、自分のdrawRectメソッドを理解でき、他のすべてのビュー メソッドは意図したとおりに機能します。GraphView同じことを行うと、現在のプロジェクトでこれを機能させることもできますが、applicationDidFinishLaunching実行されません。

サンプル プロジェクトのコードの内訳を次に示します。

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // This code does not run when I drag the custom view's referencing outlet to    File's Owner in IB
    self.graph = [[GraphView alloc]init];
}

- (void)applicationWillTerminate:(NSNotification *)aNotification {
    // Insert code here to tear down your application
}

-(IBAction)firstPoint:(id)sender{
    [self.graph addNewPoint:[self.textValue floatValue]];

    [self.graph setNeedsDisplay:YES];


}

@end

で更新するビューを取得するために、GraphViewからInterfaceBuilder に接続する必要がないように、欠けている部分は何ですか。どんな助けや指示もいただければ幸いです。File's Owner[self.graph setNeedsDisplay:YES]

4

1 に答える 1

0

GraphView が Interface Builder によって読み込まれる場合、コードで割り当てる必要はありません。適切なクラス名を示すために IB を必ず付けてください。

もう1つ、コードでGraphViewを本当に割り当ててIBを使用しない場合は、ウィンドウにサブビューを追加することを忘れないでください。

于 2014-07-21T15:57:16.083 に答える