問題タブ [iboutlet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - コードからインターフェイスビルダーの2つの異なるオブジェクトにIBOutletを接続するにはどうすればよいですか?
IBOutlet UIImageView *block;
iPhone SDK 4.0を使用していますが、InterfaceBuilderのビューで複数の画像に接続したいと考えています。ただし、2番目の画像をリンクしようとすると、最初の画像が切断されます。2つの画像を同じIBOutletコードに接続するにはどうすればよいですか?
objective-c - NSViewオブジェクトはIBOutletとして応答します
私は解決できない1つの問題に悩まされています。CourtView:NSViewがあり、そこに描画でき、mouseDownPointとmouseUpPointが格納されています。そして、私はWindowManagerを持っています:IBOutlet CourtView*courtViewとしてCourtViewを持つNSObject;
私がやりたいのは、マウスを離すとすぐに、-(void)mouseUp:(NSEvent *)event; が呼び出されると、WindowManagerのメソッドが呼び出されます。
iphone - UITextViewを「完了」ボタンにresignFirstResponderにする方法は?
ユーザーが[完了]をタップしたときに、編集可能なUITextView
キーボード()を辞任させようとしています。resignFirstResponder
を使用しUITextField
て、次のコードでこれを行うことができました。
...次に、それをUITextField
InterfaceBuilderの関連するアクション「DidEndonExit」にアタッチします。
ただし、を使用するとUITextView
、「終了時に終了しました」アクションにアクセスできないようです。これを実現する方法について何か提案はありますか?
cocoa - 他のクラスから IBOutlet にアクセスする
アプリケーション メニューの項目が に接続されたドキュメント ベースの cocoa アプリケーションがありますIBAction
。項目をクリックすると、IBOutlet
別のクラスを使用しているメインの nib ファイルで を使用するタスクを実行する必要がありますMyDocument
。同じクラスの 2 つのオブジェクトを作成すると、各 nib に 1 つが機能していないようです。アウトレットへのアクセス方法を教えてください。
iphone - 多くの UIButton の共有アクション、ボタン固有の文字列を取得
「トムとジェリー」、「ライオン キング」などの多数の UIButtons を含むビューがあります。ビュー コントローラーでそれらすべてが同じアクションを呼び出し、異なるボタンを区別してボタンを取得する必要があります。特定の NSString (たとえば、"TomJerry"、"LionKing" などの識別子)。
アイデア:
- 不正使用ボタンのタイトル テキスト プロパティ(カスタム ボタン スタイル、クリア テキスト色)。
- 機能しますが、汚い感じがします... (ボタンがテキストを表示する必要がない場合にのみ機能します。)
- 追加の ivar + プロパティ「context」で
UIButton をサブクラス化します。
- プログラムでボタンを追加するのに最適です。
- しかし、私のビューは Nib から読み込まれるので、すべてのボタンにアウトレットを定義する必要があります (そして、そのコンテキスト プロパティを awakeFromNib または viewDidLoad に設定します)。ブレ…</li>
- 「-(NSString*)context」メソッドの実装が異なる
ボタンごとにサブクラスを作成します。
- うーん…マジ?;-)
- タグを使用してボタンを識別し、タグをボタン固有の文字列にマッピングするための辞書を使用します。
- DRY 違反: タグは、ボタンを識別するための Nib と、対応する文字列を取得するための辞書で、2 回認識/指定する必要があります。
- これまでタグの使用を避けてきました。始める良い機会になるのではないでしょうか?
これを達成するにはどうすればよいですか?アイデア、ベストプラクティス、実装パターンはありますか?
更新:最初の回答を読んだ後 (ありがとう!)、明確にするためにいくつかのポイントを追加する必要があると思います。
上記のアプローチはすべて機能するはずです。ポイントは、私はそれらのどれも特に好きではないということです。どのアプローチを好むか (およびその理由)、または他のより良いアプローチがあるかどうかを尋ねています。
さらなる「要件」:
- 各ボタンをコンセントとして接続したくありません。
- ボタン固有の文字列を一般的な方法で取得したい、つまり、アクション送信者のスイッチをオンにしない
if (sender==self.button1) {…} else if (sender==self.button2) {…}
ios - オブジェクトの配列から IBOutlets を作成する方法は?
Interface Builder にある多数の UIImageViews を使用して配列を作成したいと考えています。20または30の代わりに
それらをすべてリンクしてから配列に入れると、IBOutlet UIImageViewsの配列を宣言する方法はありますか?
ヘッダーファイルにそれほど多くの宣言がないようにします。
ios - スーパークラスで宣言されたIBOutletsにアクセスする方法は?
私は現在、いくつかIBOutlet
のsとIBAction
メソッドを共有するいくつかのViewControllerをリファクタリングしています。アウトレット宣言とIBAction
メソッドをスーパークラスに移動し、これらをサブクラスから除外しました。
さて、Interface Builderを開くと、スーパークラスで宣言されたアウトレットやアクションが表示されないことがわかりました。リファクタリングの前に接続したので、接続はまだ存在しますが、グレー表示されています。(ボタンを押すとアクションが発生し、アウトレットが適切に変更されるため、接続も機能することに注意してください。)
問題は、どうすればインターフェイスビルダーにスーパークラスからのアウトレットを認識させることができるかということです。これは可能ですか、そうでない場合は、皆さんは何をお勧めしますか?
(楽しみのために、これが私のスーパークラスヘッダーファイルです:)
編集:誰かが疑問に思っている場合に備えて、私はiOS4.2SDKでXcodeとIB3.2.5を使用しています。
iphone - Iboulet はまだ接続されていません
私はiPhone開発の初心者で、少し練習していました。IB を介して作成した uilabel をコード内の IBOutlet に接続しましたが、多くのチュートリアルで説明されていますが、テキストを設定しようとすると、まだ null と表示されますか? .h クラスで IBOutlet オブジェクトを定義し、問題なく IB を介して正常に接続しましたが、なぜそれがまだ null なのかはわかりません。どんな助けでも大歓迎です。
objective-c - @interface の内部または外部で IBOutlet を宣言していますか?
申し訳ありませんが、私はこれについてうるさすぎますが、現在iOSプログラミングを学んでおり、次のように宣言している人がいるようですIBOutlet
:
プロパティに添付された IBOutlet
そして、次のように宣言するものもあります:
インターフェイス内の宣言に追加された IBOutlet
それを宣言する適切な方法はどれですか?それらの間に違いはありますか?誰かがなぜそれを別の場所に置くのかを説明することを知っていれば、学ぶのは素晴らしいことです.
どうもありがとう :)
iphone - 楽器: UIButton 作成時のメモリリーク
インターフェイス ビルダーで UIButton を作成するときに、なぜ xcode でインスツルメント アプリケーションを実行するとメモリ リークが発生するのかを調べようとしています。
これが、メモリリークを作成した方法です。
新しいアプリケーションを開き、インターフェイス ビルダーで myAppViewController.xib ファイルを開きました。背景を黒に変更しました。UIButton を追加し、名前を「foo」タイトルに変更しました。保存してから終了します。
myAppViewController.h ファイルには、次のものがあります
myAppViewController.m ファイルには、次のものがあります。
これは、現在計測器で取得しているもののスクリーンショットです。
ただ、ひとつ気になる点が……。
インターフェイス ビルダーでまだ Outlet を uibutton に接続していませんが、UIButton をインターフェイス ビルダーから削除して保存し、インストルメントを使用してプログラムを再度実行すると、まったくリークが発生しません。
誰かが何が起こっているのか、どうすればこの問題を解決できるのか説明してもらえますか? ありがとうございました。