問題タブ [interface-builder]

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.

0 投票する
4 に答える
1574 参照

cocoa-touch - コードと Interface Builder 間の接続に問題があります

iPhone SDK に特有の問題があります。

開発マシンでさまざまなソースからいくつかのチュートリアルを実行しようとしました。問題は常に、コードを Interface Builder のビューに接続することにあるようです。ボタンまたはデータ フィールド (またはその他のライブラリ関数) があり、ファイルでいくつかのプロパティを宣言する場合、viewcontroller.hファイルをクリックして Interface Builder を起動し.xib、接続ビューアーの参照アウトレットからドラッグして接続を試みます。表示される唯一の可能な接続 (ポップアップ ボックスに表示されるのは ですview)。使用可能なコードに関係なく、他のオプションは使用できません。誰かがこれを経験したことがありますか、それとも明らかな何かが欠けていますか?

0 投票する
14 に答える
1242 参照

iphone - 不正なデータをキャッシュするInterfaceBuilder(voodoo)

IBが古い参照や不良な参照を保持することがあり、それらを削除または編集できないようです。

編集私はこの現象に関するより多くのデータを収集することを目的として、これをwikiの質問にしました。他のコーダーがこれに遭遇した状況を含む回答は大歓迎です。

これは昨夜、テーブルコントローラーで再び私に起こりました。エラーを再現するためにスパイクプロジェクトを作成したとき、システムは予想どおりに機能しました。その後、実際のプロジェクトに戻ると、xibファイルと関連するすべてのコントローラーを削除しても、悪い動作が続きました。

元の(問題のある)xibファイルとnibファイルを使用せずにまったく新しいプロジェクトを作成すると、正しく機能しました。

この質問は、この事件の詳細についてではなく、IBにおけるこの種の事件についてです。

誰かがこのタイプの悪いIBの振る舞いについて、そしておそらくプロジェクトを無力化するよりもそれを排除するためのよりスタイリッシュな方法についてもっと知っていますか?

問題のあるIBファイルを削除して同じプロジェクトで再作成しても、これまではこれを解決できず、まったく新しいプロジェクトしか解決できなかったことに注意してください。

このグリッチがいつ/どのように観察/作成されたかの例に関する回答も歓迎します。

0 投票する
4 に答える
2449 参照

objective-c - 複数の XIB から 1 つの NSArrayController を使用する

1 つの NSArrayController の内容を異なる XIB で定義された 2 つのウィンドウに表示する際に問題が発生しています。

私のメイン ウィンドウ (MainMenu.xib) には、NSArrayController にバインドされた NSTableView があります。

2 番目の XIB には、NSTableView を含む別のウィンドウがあります。新しい NSArrayController を作成し、テーブルをその NSArrayController の内容にバインドしました。

両方の NSArrayController は、まったく同じ NSArray にバインドされています。

最初はすべて問題ありませんが、問題は、メイン ウィンドウで NSArrayController を使用してオブジェクトを配列に追加すると、セカンダリ ウィンドウのデータ ビューが更新されないことです。これは、新しいオブジェクトの追加に NSArrayController が使用されていないため、自分自身を更新する必要があることを認識していないことが原因である可能性が最も高いです。

私がやりたいことは、両方のウィンドウで NSArrayController のまったく同じインスタンスを使用することです。このようにして、オブジェクトが配列に追加されると、両方のビューに変更が通知されます。

問題は、Interface Builder でこれを行う方法がわからないことです。NSArrayController を別の NSArrayController にバインドできません (NSArray にしかバインドできないことを示す実行時エラーが発生します)。NSArrayController を File's Owner の NSArrayController メンバーに接続しても、使用したい NSArrayController が消去されるだけなので、どちらも役に立ちません。

コードでバインディングを自分でセットアップすることもできると思いますが、可能であれば Interface Builder を使用する方がよいようです。Interface Builderでこれを行う方法はありますか、またはこれをすべて一緒に設定するより良い方法はありますか?

更新: Chuck の回答とコメントに応えて、次のことを試しました。 : 認識されないセレクターがインスタンスに送信されました") - テーブルの各列を、arrayController.arrangedObjects.propertyName のモデル キー パスを使用してファイルの所有者にバインドします。

これでも、テーブルの内容が更新されることはありませんでした。これは、NSArrayController 自体ではなく、NSArrayController の ArrangeObjects にバインドしているためだと思います。しかし、NSArrayController に直接バインドすると、エラーが発生します。

通常、「Bind to」ComboBox から NSArrayController を選択し、arrangedObjects をコントローラー キーとして使用し、プロパティ自体をモデル キー パスとして使用します。この場合、それと同等のことを行う方法がわかりません-できれば。

上記のプロセスで何か間違ったことをしましたか?

0 投票する
1 に答える
1691 参照

cocoa-touch - Interface Builder を使用して追加されたオブジェクトのメモリを解放する

テーブルを含むビューと、テーブル ヘッダー用の別のビュー (画像、ラベル、ボタンを含む) を作成する状況があります。ここで、テーブル、画像、ラベル、ボタンを Controller クラスの変数に接続しました。-deallocInterface Builder を使用して接続したすべての変数のメソッドでメモリを解放する必要がありますか? これらの変数にはメモリが自動的に割り当てられると思いますか?

0 投票する
1 に答える
3091 参照

cocoa - OS X では、GUI を複数の NIB ファイルと NSView サブクラスに分離する

OS X/Cocoa アプリケーションを開発していますが、次のような動作が必要です。

  • 「オプション A」、「オプション B」、「オプション C」など、さまざまなオプションのサイドバーがあります。
  • A、B、または C をクリックすると、対応する GUI がメイン ペインに読み込まれます。各 GUI は異なる NSView サブクラスであり、異なる NIB/XIB ファイルで定義されています。たとえば、オプション A は 3 つのボタンで NSViewSubclassA のインスタンスであり、オプション B は 1 つのボタンとテキスト フィールドであり、NSViewSubclassB のインスタンスである場合があります。

これをプログラミングするにはどうすればよいですか?

0 投票する
3 に答える
20874 参照

cocoa - Interface Builderを使用してココアにファイルセレクター/オープナーを追加するには?

Interface Builderのボタンまたは入力フィールドをクリックするとファイルダイアログが開き、1つ以上のファイルを選択して指定した配列/テーブルに配置できるようにする方法を考えています...

ボタンが押されてファイルが選択されると(これは非常に些細なことのように思えます)、ある種の配列(選択したファイルへのパスを含む配列など)がすでに含まれていると思いますので、それについては説明します..ボタンをファイルセレクターにリンクする方法と、ファイルセレクターがファイル (またはファイルへのパス) をどのように配信するかを知る必要があるため、それらを配列にリダイレクトできます

これを行う簡単な方法はありますか、さらに重要なことです。ファイルセレクターのようなものはありますか、それともInterfaceビルダーの代わりにXCodeでこれを行う必要がありますか?

0 投票する
2 に答える
4487 参照

cocoa - アウトレットを介して XCode の配列に配列コントローラーをリンクする

アレイ コントローラをアレイにリンクする方法を見つけようとしています。アウトレットを介して、Interface Builder で作成された .xib ファイルのテキストフィールドやテーブルビューにさえ入力できることを知っています。

簡単なアウトレット (NSArray) を 1 つ用意して、それをアレイ コントローラーに入れることができるようになることを期待していました。次に、テーブルはそのコンテンツフィールドを配列内のものにリンクします。これは可能ですか、それとも非ココアを考えすぎているだけですか?

現在、Interface builder にオブジェクト参照があり、これは既にフィールドのペアといくつかのアクション ハンドラーをボタンに渡しています。Array Controller をアウトレット 'FilesArray' にリンクしようとすると、アウトレットではなく、オブジェクト自体にしかリンクできません。

私は初心者なので、なぜこれができないのかわかりませんか?

ありがとう!

0 投票する
1 に答える
718 参照

cocoa - 全体の一部がボタンであるNSOutlineViewを作成するにはどうすればよいですか?

一部のエントリがボタンのように見えるNSOutlineViewサブクラスを作成したいと思います。次のようになります。

すべての「[アイテムの追加]」はボタンです。

どういうわけか、outlineView:willDisplayCell:forTableColumn:item:デリゲートメソッドを使用する必要があると感じていますか?

0 投票する
2 に答える
216 参照

ios - バインドされた配列を、テーブルを自動的に埋める部分に分割するにはどうすればよいですか?

この「チュートリアル」を使用して、「コレクション」という配列をインターフェイス上のNSTableviewにバインドしました:http: //www.cocoadev.com/index.pl? NSArrayController

interfacebuilderのものはそれほど難しくありません。配列内のデータを実際にビューに表示しようとすると、難しくなります。

私の.hファイル:

そして私の.mファイルで:

これで、配列はインターフェイスとその中のテーブルビューに適切にバインドされていると思います、もちろん、テーブルビューとその列は特定の方法で入力する必要があります。現在、アイテムを追加しても何も表示されません。コレクションaddObject:fileName関数を使用

フィールドで満たされた1つのアイテムとしてサブ配列を作成する必要がありますか?そして、これらの値/フィールドを特定の列にバインドするにはどうすればよいですか。(フィールドは「アーティスト」、「タイトル」などです)

Interface Builderのすべての列を、コントローラーキー' arrangedObjects 'およびモデルキーパス' artist '、' title 'などを使用してArrayControllerにバインドしました。

私はこのアレイコントローラーのことは絶対に得られないとゆっくりと考え始めているので、説明を簡潔にしてください... Objective-Cはそれほど難しくはないようですが、必要なバインディングは私が得られないものです。Appleの例は初心者には十分ではありません