iOS 6 iPhone アプリに Twitter 統合を追加しようとしています。Social フレームワークをインストールし、すべてのコードを持っていますが、画面の 1 つでコードを UIButton に接続できません。複数の画面を簡単に作成できるように、ストーリーボードを使用しています。スクリーンショットを投稿することはできませんので、私が話していることを理解していただければ幸いです。ありがとう!
エヴァン
ストーリーボード内で UIButton の参照を作成するには、次のことを行う必要があります。
1) ViewController のクラス名 (UIButton の動作を処理するもの) を StoryBoard の ViewController にリンクします。これを行うには、ストーリーボードに移動し、接続する UI 要素を含む ViewController を選択します。次に、左隅にある「Identity Inspector」を選択します (3 番目のオプションです)。次に、「クラス」フィールド内に ViewController のクラス名を入力する必要があります。
2) 次に、Xcode 4.5 が提供する Assistant Editor を使用して、UI 要素をクラスに簡単に接続できます。アシスタント エディターを表示するoption + command + return
には、[表示]、[アシスタント エディター]、[アシスタント エディターの表示] の順にクリックします。Assistant Editor が表示されたら、StoryBoard で ViewController を選択する必要があります。ViewController のクラスの @interface が自動的に表示されます。
3)Control + Click
あとは、UI 要素を保持し (この例では UIButton を使用できます)、アシスタント エディター内で ViewController のクラスの @interface の下にドラッグするだけです (青い線が投影されていることに気付くでしょう)。ボタンからマウスの位置まで)。ドロップすると、必要な接続のタイプを選択するためのダイアログが表示されます。デフォルトのままにして、プロパティの名前を挿入してください。次のようなものを追加する必要があります。
@property (weak, nonatomic) IBOutlet UIButton *myButton;
デフォルトでは、アウトレット (IBOutlet) を作成するオプションが表示されます。これは、Interface Builder (この場合はストーリーボードを使用) で作成された UI 要素へのリンクを作成しているプロパティを Xcode に伝える方法にすぎません。UIButton の IBOutlet プロパティを使用すると、そのパブリック プロパティにアクセスしたり、状態を要求したり、変更したりできます。たとえば、ボタンのテキストを変更できます。
4) ただし、ボタンに動作を追加するには、IBAction を作成する必要があります。これは、アシスタント エディターを使用して行うこともできます。繰り返しますが、Control + Click
別の接続を UIButton から @interface ファイルにドラッグする必要があります。ただし、今回は接続タイプで「アクション」を選択し、名前を指定する必要があります。
注意すべきことの 1 つは、デフォルトでは、UI 要素の IBAction を作成すると、その要素の最も一般的なイベントが選択されることです。UIButton の場合は、「Touch Up Inside」イベントです。同じ UI 要素のさまざまなイベントに応答するために、さまざまな IBAction を作成できます。
@interface ファイルの結果のコードは次のようになります。
// MyViewController.h
#import <UIKit/UIKit.h>
@interface MyViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *myButton;
- (IBAction)myButtonTouchUpInsideAction:(id)sender;
@end
@implementation ファイルの下部を見ると、次のような IBAction を返す新しいメソッドを確認できるはずです。
- (IBAction)myButtonTouchUpInsideAction:(id)sender
{
// insert your behaviour here
}
そのメソッドのスコープ内で、登録されたイベントが発生したときに UIButton が実行する動作を追加できます。
IBOutlet プロパティを使用するには、次のように @implementation ステートメントの後に IBOutlet 名を含む @synthesize ステートメントを追加する必要があります。
@implementation MyViewController
@synthesize myButton;
これで、次を呼び出して UIButton プロパティを使用できるようになりました。
self.myButton
お役に立てれば!十分に明確でない場合は、お知らせください。