問題タブ [awakefromnib]

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

nslayoutconstraint - フレームのビューが awakeFromNib に設定されていないようです

View Controllerでautolayoutを使用して、uiviewをナビゲーションバーのように整列させています(上に整列し、トレーリングサイドとリーディングサイドに引き伸ばし、高さ44)。

このビューをサブクラス化しましたが、その間awakeFromNibにサブビューを追加したいと考えています。

ただし、これらのサブビューを (親ビューにも制約を付けて) 追加すると、機能しません。

最初は、制約が正しくプログラムされていないと思っていましたが、次のようにビューのフレームをログに記録した後:

次の出力が得られます。

しかし、たとえば、touchesBegan:withEvent:ログインすると、正しいフレーム サイズがログに記録されます。

誰がこれを引き起こしているのか知っていますか?

setTranslatesAutoresizingMaskIntoConstraints:NOまた、関連するすべてのビューを設定しようとしました。しかし、何も機能していないようです。

前もって感謝します!

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

ios - iOS: nib からストーリーボードへの書き直し

ストーリーボードを使用してかなり単純な iOS アプリを更新 (つまり、書き換え) しています (以前のバージョンは xib ファイルを使用していました)。元のアプリは私の友人によって書かれたものであり、ようやく自分で iOS に飛び込む時間を見つけているため、この書き直しは部分的には私自身の啓発のためです。

このアプリは、Navigation Controller を使用してビュー コントローラー (make/model/size) を切り替えます。各View Controllerには、値のリスト(メーカー/モデル/サイズ)を含むテーブルビューが含まれています。

xib バージョンでは、各ビュー コントローラーに、以前のビュー コントローラーからの情報を受け入れる独自の init メソッドがありました (例: モデル ビュー コントローラーは、どのメーカーが選択されたかを知る必要がありました。そのため、適切なモデルを表示できます。サイズ ビュー コントローラー適切なサイズを表示できるように、どのメーカーとモデルが選択されたかを知る必要がありました)。また、カスタム init では、initWithNibName を呼び出します。

現在、ストーリーボードを使用して、initWithNibName を呼び出さず、awakeFromNib にフックすることになっています。これは、nav コントローラーのルート ビュー コントローラーであるため、常に同じメイク リストが表示されるため、メイク ビュー コントローラーに最適です。

私が立ち往生しているのは、ストーリーボードと awakeFromNib を引き続き使用するが、途中でデータを渡す方法です (つまり、make ビューコントローラーのテーブルビューの行が選択されているときに、選択した make をモデルビューコントローラーに送信します)。

ここで意味を成していることを願っています。

前もって感謝します。

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

iphone - awakeFromNib は呼び出していませんが、xib を表示しています

xcode 4.5 で新しいプロジェクトを作成し、viewcontroller を呼び出しました。

-(id)initWithNibName:バンドル:

デフォルトのプロジェクトテンプレートで呼び出されたappdelegateから、私はストーリーボードを使用していませんが、awakeFromNibは呼び出されませんでした。私も検索しましたが、awakeFromNibが呼び出されない理由を理解できませ んでした。

-(void)awakeFromNib 「Interface Builder アーカイブまたは nib ファイルからロードされた後、レシーバーをサービス用に準備します」に関する Apple のドキュメント。「NSCodingプロトコルに準拠するオブジェクト (UIView および UIViewController のすべてのサブクラスを含む) は、initWithCoder: メソッドを使用して初期化されます。NSCoding プロトコルに準拠しないすべてのオブジェクトは、init メソッドを使用して初期化されます。すべてのオブジェクトがインスタンス化および初期化された後、 nib-loading コードは、これらすべてのオブジェクトのアウトレットとアクションの接続を再確立します。次に、オブジェクトの awakeFromNib メソッドを呼び出します。」

私の質問は、xib ファイルが読み込まれたときに awakeFromNib が呼び出されないのはなぜですか? 私は何か間違ったことをしていますか?詳しく説明してください

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

ios - Font と textColor がなくなった - さらに別の UITableViewCell awakeFromNib

これが固有のものかどうかはわかりませんが、 (私が信じているように)UITableViewCells一般的なものですが、セル の問題に気付きました。UIViews

前述のようにUITableViewCell、指定された init で初期化されたときに xib から自分自身をロードするカスタム サブクラスがあります。

UILabelアウトレットとして があり、メソッドawakeFromNibで いくつかのプロパティを設定します。

要点は、ラベルが textColor もフォントも保持せず、その理由がわかりません。
awakeFromNibテキストを設定できるので、呼び出されてコンセントが正しく接続されます。

彼のテキストを設定した後にこれらのプロパティを設定することで機能させることができますが、UITableViewDataSourceそれが正しい方法だとは思いません。なぜこれが機能しないのかを理解したいのです。

質問:
フォントとテキストの色が保持されないのはなぜですか?正しく機能させるにはどうすればよいですか?

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

objective-c - awakeFromNib が長すぎるためにアプリがクラッシュする

Xcode で、5 つのラベルのみを含むウィンドウを 1 つだけ含むユーザー インターフェイスを使用して、単純なアプリを作成しています。日付を使用してラベルにいくつかのテキストを表示したいだけです。メソッドですべての作業を行います-awakeFromNib。しかし、アプリをビルドして実行すると、アイコンが表示され、ウィンドウが表示されずにすぐにクラッシュします。お察しのとおり、-awakeFromNibロードが多すぎて実行できません。コードの半分を削除すると、すべて正常に動作します。

どうすればそのような巨大なものに対処でき-awakeFromNibますか? コードを別のメソッドに記述する必要がありますか? -awakeFromNibメソッドを からに変更する-applicationDidFinishLaunching:と、同じことが起こることに注意してください。

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

ios - awakeFromNib 内のアウトレット サイズを取得する

UICollectionViewCell(ストーリーボードに配置された) ラベルのアウトレットを含むカスタムを作成しました。awakeFromNibカスタムのメソッド内からこのラベルの高さを取得したいのですUICollectionViewCellが、ラベルのサイズは常に0.000000次のとおりです。

コンソール出力:

ラベルのサイズを取得するにはどうすればよいですか? awakeFromNibが呼び出されたときにそのような情報を取得するのは時期尚早ですか? もしそうなら、カスタムセルのどのメソッドでサイズを取得する必要がありますか?

編集

以下は、ViewController で観察された同じ奇妙な動作です。

そして出力:

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

iphone - ストーリーボードを使用するときに完成した TabBar 画像を設定しますか?

UI の大部分が Xcode のストーリーボードを介してセットアップされるアプリケーションに取り組んでいます。私がやりたいことの 1 つは、Interface Builder を介してアクセスできるデフォルトの「Stencilled」画像ではなく、TabBar の UITabBarItems に「Finished」画像を指定することです。

私の質問は、これを行うのに最適な場所はどこかということです。現在、ストーリーボードからアーカイブを解除する必要があるため、awakeFromNib で実行していますが、代わりに initWithCoder: を使用する必要があるかどうかはわかりません。それは問題ですか?

また

initWithCoder:アウトレットとアクションがまだ接続されていないときに、ニブ(ストーリーボードに含まれる)からオブジェクトをアーカイブ解除する開始時に呼び出されることを理解しています。awakeFromNibまた、アーカイブ解除プロセスの最後に が呼び出され、viewController を使用できるようになったことを知らせることも理解しています。awakeFromNibアウトレットとアクションがまだ接続されていない場合に問題が発生しないため、使用しても問題が少なくなる可能性がありますが、それは本当にやりたいことに依存していると私は感じています.

編集:

これを言い換えると、どのような状況をinitWithCoder:対置としてawakeFromNib、またはその逆として使用しますか?

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

iphone - ストーリーボードによってオーバーライドされているawakeFromNib内のコード

私は次のコードを持っています:

内部のコードは何もしていません。アプリがbuttonOneをロードすると、ストーリーボード上の正確な場所になります。

したがって、同じコードをviewDidLoad内に配置すると、次のようになります。

それが機能し、ボタンが下に移動します。

これは、awakeFromNibの起動とビューの描画の間に何かが発生したためですか?

どんな説明でも素晴らしいでしょう!

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

objective-c - awakeFromNib は UILabel から値を取得できず、UIButton を無効にできません

シングルビュー アプリのメイン ストーリーボードに 2 つのボタンがあり、そのうちの 1 つを無効にして、awakeFromNib メソッドを使用して UILabel から値を取得したいと考えています。私に関する限り、awake メソッドを呼び出す前に、すべての関係と GUI 項目を初期化し、値を割り当てる必要があります。残念ながら、適用して値を取得してボタンを無効にすることはできません

私が作ったクラスに。UILabel との間の接続を確立しました

私の作成したクラスファイルで。誰かが間違いを見つけることができますか、それとも問題に関する詳細情報を提供する必要がありますか?

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

objective-c - サブビューのawakeFromNibとビューのviewDidLoadの間でどの関数が呼び出されますか?

関連する .xib ファイルを持つUIViewControllerカスタム UIView ( ) を含むストーリーボード内に UIView/UIViewController ( ) があります。CustomViewをロードすると、次の現象が発生しますUIViewController

  • CustomViewawakeFromNib関数が呼び出されます
  • SOMETHING(?) は、サブビューのフレームを高さ 0.0 に設定します。スタック トレースが明らかにする[UIViewController autoresizedArchivedView](関連する?)
  • UIViewControllerviewDidLoad関数が呼び出されます

awakeFromNibと の間で発生するこの「何か」をviewDidLoadどのように制御できるか考えていますか?