IOSは

2011-08-14 5 views
0

をクリックして、私はこれまでのところ唯一、私はIBOutletがなければならないことを知っている私は、レイアウトIOSは

からこれらの項目のすべてを参照するための構文上明確でないんだけど、インタフェースビルダーのレイアウト

を持っているボタンの背景を変更しますどこかで使用されていますが、私はこの目的Cがやっていることにもう少し手助けをする必要があります。私が読んだことは、いくつかの宣言が+やその他で始まる理由を正確に教えてくれるものではありません。

レイアウトでボタンをクリックし、モーダルビューをポップアップしてレイアウト全体をバックグラウンドに変更します。

最初の手順では、ペン先で作成したこれらの項目すべてを参照しています。助けて?

答えて

1

したがって、あなたのバックグラウンドビュー用のIBOutletを作成することをお勧めします。 UIImageViewのように、ユーザーがモーダルビューで選択した内容に基づいてイメージプロパティを設定できます。このためにあなたは自分のIBファイルに

UIImageView *imageView; 

をお持ちのUIImageViewを宣言した後、プロパティ

@property (nonatomic,retain)IBOutlet UIImageView *imageView; 

としてそれを宣言して、.mファイルでそれを合成する

@synthesize imageView; 

ARCを使用していない場合は、リリースすることを忘れないでください。

インターフェイスビルダーを開き、View ControllerのFile Ownerをクリックして接続インスペクタに移動すると、imageViewの新しい接続が表示されます。その接続をIBファイルのUIImageViewにドラッグするだけです。 IBのUIImageViewに接続するコード内に参照があります。あなたがモーダルビューを取得するために

self.imageView.image = [UIImage imageNamed:theNameTheUserJustPicked]; 

のようなものを入力して、あなたのコード内でUIImageViewを設定することができます

は、あなたのコード内のメソッドをトリガーするIBActionを必要とするので、このようなものを宣言メインペン先の.hファイルに保存します。

- (IBAction)displayViewBackgroundChooser; 

.mファイルに定義します。

- (IBAction)displayViewBackgroundChooser { 
    //present your new view on screen here 
} 

次に、インターフェイスビルダーに戻り、File's Ownerを再度クリックします。接続インスペクタにそのインジケータが表示され、そのメソッドをトリガするボタンなどに接続できます。

これは、IBOutletsとIBActionsで少し上のことをクリアするのに役立ちます。

+0

私は変更する背景がありますが、ポップアップに私の他のビューを取得できません、新しい希望のビューのペン先からのドラッグは、私のメインビューコントローラの何にも接続しません – CQM

+0

あなたは何もあなたのコードのメソッドをトリガーして、新しいペン先を画面に表示する、ペン先のペン先に接続したいとします。新しいペン先で行う必要があるのは、ペン先を元に戻して選択した情報を元のペン先に戻すことだけです。 – Jamie

+0

'//新しい画面を画面に表示する'新しいビューを表示させるにはどうすればいいですか? 'self.displayViewBackgroundChooser;'が初期化されました。私のボタン上のIBActionがこのビューをどのように参照するかはわかりません – CQM

1

IBで作成されたUI要素をIBOutletsIBActionsを使ってコードとやりとりさせることができます。また、あなたが知っているより直感的なチュートリアルへのリンクを投稿してください。

あなたのケースでは、ボタンにアクションを関連付けるので、ボタンがクリックされたときに起動されます。アクションはモーダルビューを開き、関連するコントローラのviewDidLoadメソッドでそのビューの背景を変更することができます。

Hereアウトレットの追加に関するビデオチュートリアルがあります。そしてhere、アクションについても同じです。

+と - の疑問については、-はクラスで定義されている通常のメソッドを示しています。 +はクラスメソッドを定義しています。つまり、クラスを直接インスタンス化することなく直接呼び出すことができるメソッドです。詳しくはS.O. articleをご覧ください。