問題タブ [nib]

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 投票する
3 に答える
2226 参照

iphone - .xibファイルを使用してiPhoneアプリのGUIを提供すると、パフォーマンスが低下しますか?

GUIデザインに.xibファイルを使用することとプログラムでこれを行うことの間に違いがあるかどうか疑問に思いました。

コンパイラなので、関連する時間が失われることはないと思います。

私が間違っている?

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

cocoa - NIB ファイルの動的テキスト ラベル

nib ファイルを作成し、選択したファイル名や選択したファイルの数などの動的テキスト メッセージを表示したいのですが、これを行う方法はありますか?

これはアラート パネルで実行できることはわかっていますが、カスタム シートで実行したいのです。

ありがとう

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

xcode - XCode: 出力/メイン ウィンドウの並べ替え

ソースエディタの上にある出力/検索ウィンドウを下に移動することはできますか?

どこかに隠れた好みがあるかもしれない、あるいは誰かが nib ファイルを編集して再配置したのかもしれないと思っていました。

乾杯

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

iphone - 複数のビュー/サブビューを持つ iPhone アプリ: メモリの割り当てが解除されていません

このリンクで説明されているものに基づいたフレームワークに連続したビューをロードする iPhone アプリケーションがあります(基本的にはViewController、メソッドを使用して追加のビューをロード/削除するメインdisplayView)。私のアプリケーションでは、NIB を使用しています(例のリンクではコード化されたビューを使用しています) ViewControllers

Instruments でのデバッグではリークは表示されませんが、セクション (View.xib を含む ViewController) に出入りすると、nib はメモリ内に残るため、数回のイン/アウトの後、メモリが蓄積し始めます。

ペン先がアンロードされていないことはわかっています。これは、ほとんどプログラムで作成されたもの (IB には何もない) と、IB で作成された画像とボタンがあるためです。大きい方が最初にロードされ、小さい方が次にロードされます。インスツルメントへの割り当てが減少することが予想されます。

どうすればこれを防ぐことができますか?

私の構造は次のとおりです。以下にいくつかのコメントがあります。

このコントローラは、サブビューのロード/削除を処理します:

case私が持っている「詳細」 と同じ数がありViewControllersます(現在は3つcaseですが、これは10以上になります)。この構造の目的は、アプリケーションのある「セクション」から別の「セクション」に簡単に移動することです (NavBar コントローラーまたは TabBar コントローラーは、私の特定のニーズには合いません)。

に注目しNSLogdeallocください。これは呼び出されています (コンソールで確認できます) が、nib に必要なメモリが解放されていません (新しい nib がロードされるため、Instruments はセクションを離れるときにメモリ割り当ての増加を示します)。

どんな助けでも大歓迎です。何百万もの異なることを試しましたが、ペン先をアンロードできません。

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

iphone - UIView だけでなく、セカンダリ NIB から UITableViewController (またはサブクラス) 全体を初期化することは可能ですか?

ほとんどすべての UINavigationController の例は、initWithNibName:bundle: を使用して、UIViewController 全体 (またはサブクラス) ではなく UIView のみを含む NIB をロードし、NIB の File's Owner Class プロパティを UIViewController (または適切なサブクラス) に設定し、そのビュー アウトレットは UIView を指していました。

どうしてこれなの?セカンダリ NIB から完全な UIViewController (特に UITableViewController) をインスタンス化できないのはなぜですか? また、なぜ IB でビュー アウトレットを設定する必要があるのでしょうか? とにかくUITableViewControllerによって完全に無視される空白の白いビューを作成するポイントがわかりません。

MainWindow NIB では、セカンダリ NIB ではできないように見えることの両方を行うことができます。UINavigationController をセットアップし、その中で UITableViewController (またはサブクラス) をセットアップできます。また、完全に不要な UIView オブジェクトを作成する必要はありません。UITableViewController の全体的なポイント (私が考えた!) は、デリゲート メソッドを使用して関連するテーブル ビューを作成および管理することなので、かなり役に立ちます。

ここで何が起こっているのですか?私は愚かですか?私がやりたいことをする他の方法はありますか?それとも、物事がそのようになっているのには何らかの論理的な理由がありますか?

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

iphone - IBとUIView。ペン先からビュー階層をロードする正しい方法は何ですか?

誰かがnibファイルからビュー階層をロードする適切な方法を教えてくれませんか。ロードされたビューをテンプレートとして使用して、ビューのファミリーをスタンプしますが、現在使用しているアプローチは微妙に壊れています。あるべきときにコピーしたり保持したりしていないようです。関連するコードは次のとおりです。

これは私の頭を今しばらくの間傷つけていますか?

乾杯、ダグ

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

objective-c - nibからロードするときにUIViewControllerサブクラスのinitが呼び出されない

UIViewController サブクラスのデフォルトの initWithNibName 指定イニシャライザを次のようにオーバーライドしてみました。

その定義もヘッダー ファイルに含めました。ただし、アプリケーション デリゲート nib がビュー コントローラーをロードすると、イニシャライザーは呼び出されず、-viewDidLoad のみが呼び出されます。

nib マジックはどのようにビュー コントローラをインスタンス化しますか? すべての XCode テンプレートが状態を示すのはなぜですか

// 指定された初期化子。コントローラをプログラムで作成し、viewDidLoad に適していないカスタマイズを実行する場合はオーバーライドします。

ビューコントローラーが別のペン先からロードされたときに initWithNibName が呼び出されないのは正しいですか?

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

iphone - Interface Builder によって作成された UIButton がクラッシュする

醜いバグを絞り込みましたが、nib/Interface Builder の内部にあるように見えるので、次に何をすべきか途方に暮れています。

カスタム ダイアログ ボックスとして機能する IB で作成された UIView があります。メッセージと 2 つのボタンが表示されます。(続行またはキャンセル) どちらのボタンにも、Interface Builder で設定された背景画像があります。

キャンセルボタンの背景画像の扱いに問題があります。NSZombieEnabled を使用して、プログラムを実行しています。ほとんどの場合、以下のメソッドはこれをログに記録します。

それは完全に正常です。ただし、これを行う場合もあります (いくつかのインターフェイス ボタンをすばやくタップして UI を「急ぐ」と、これをある程度確実に繰り返すことができます)。

ご覧のとおり、NSZombieEnabled は [キャンセル] ボタンの背景画像の割り当てが解除されていることを検出しましたが、保持メッセージが送信されています。(ただし、私ではありません...その画像はこの1つのボタンにのみ使用され、Interface Builderでのみアクセスされます。その画像にリンクされたIBOutletsまたは変数はありません。)

それで、ええと、今何ですか?

編集:

ゾンビとして捕捉されるのは保持メッセージではない場合もあれば、isKindOfClass である場合もあります。

これは私のカスタム UIViews "showInView" メソッドです:

ありがとう!

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

iphone - awakeFromNib が起動しないのはなぜですか?

ビュー階層構造の多くを IB に移行し始めています。

「AlignmentViewController.xib」という名前の nib ファイルがあり、ファイルの所有者として AlignmentViewController を使用してビュー階層を設定します。これはうまくいきます。

私が曖昧なままにしているメソッドの 1 つは、awakeFromNib です。次の AlignmentViewController のコード スニペットでは、awakeFromNib メソッドを 1 つ追加します。ただし、呼び出されません。

ここで見逃したことを誰かが明確にしてくれますか?

乾杯、ダグ

更新:いくつかの回答を読んだ後、かなり基本的なことの根底に到達する必要があることに気付きました。

初期化を見る:

initWithNibName:bundle: を間接的に呼び出していることに気付きました。これは悪い習慣ですか?AlignmentViewController.xib ファイルは、ビュー階層を定義します。しかし、私は initWithNibName:bundle: を通常の方法で実際に使用していませんか? これを行うより良い方法はありますか?

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

iphone - loadNibNamed でのメモリ リーク?

初めての iPhone アプリを完成させようとしていますが、Leaks Performance Tool を使って実行することにしました。明らかなものを 1 つ修正した後、私が残した唯一のものは、loadNibNamed を介してロードされたテーブル ヘッダー ビューとして機能する Nib を持つものです (私はここでレシピのデモに従っていました)。

次に、dealloc で:

インスツルメントは、loadNibNamed の行から 2 つのリークがあり、256 バイトがリークしていることを教えてくれます。tableHeaderView は、Nib の唯一の最上位オブジェクトです (デバッガーで確認しました)。リリースするのを忘れているものはありますか? インスツルメンツが私に言っていることを誤解していますか? 違いますか?OSが後でクリーンアップするものですか?