私はCS193pスタンフォードiOSコースを卒業しています。私はグラフ作成の電卓をiPad用の普遍的なアプリケーションにも変換する課題3でほぼ完了しました。このアプリは、プログラム(「x + 3」など)が電卓に入力された後、グラフボタンを押したときにグラフを描画します。iOS IBActionメソッドが呼び出されない
- (IBAction)ipadGraphPressed:(UIButton *)sender {
if ([self splitViewGraphViewController]) {
[[self.splitViewController.viewControllers lastObject] setProgram:self.brain.program];
}
}
これは、GraphViewControllerでsetProgram:
を呼び出す:グラフ]ボタンを押したのですが、iPadの中で、私はグラフのボタンから目的のアクションを設定UISplitViewControllerを持っていた時にiPhoneで、私は単にsegued GraphViewでsetNeedsDisplay:
を呼び出し、グラフを描画する必要があります。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
[segue.destinationViewController setProgram:self.brain.program];
}
私は、接続がボタンとそのアクションメソッドの間で確立されていることを非常に確信しているが、私はアプリを実行して、このアクション:
比較のためには、ここではiPhone上で動作セグエ方法であり、ボタンが押されたときにメソッドが呼び出されることはありません。メソッドが呼び出されることを確認するために何かチェックする必要はありますか?
ボタンを押したときにアクションメソッドが呼び出されない場合、「IBAction」はボタンに正しくバインドされていません。 'IBAction'を 'Touch up inside'イベントに接続し、インスタンス化時に接続が自動的に接続できるようにView Controllerを作成していますか? – aroth
私はTouch Up Insideイベントが接続されていると肯定的です。 View Controllerのセットアップに関しては、私はあまりよく分かりません。 iPhone Segueは、GraphViewControllerプログラムのプロパティを設定することで動作します。したがって、私はアクションメソッドで全く同じことを行いました。私はそれが同じように動作すると仮定しました。 – Paul
最初にそのボタンのアクションがipadGraphPressedに接続されていることを再確認します。 NSLog(@ "%@"、送信者)を追加します。メソッド内で、ボタンを押して、ボタンが機能しているかどうかを確認します。 – Pochi