問題タブ [uinib]

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 に答える
387 参照

ios - NSObjectはペン先でUIViewをロードしていますが、ファイル所有者はUIViewControllerです

ビューでいくつかの操作を処理するカスタム オブジェクトがあります。基本的には、nib ファイルで UIView を初期化します。しかし、ViewController に IBActions の処理を​​任せたいと思っています。そこで、viewcontroller をファイルの所有者に設定し、IBActions を接続しました。

私のカスタム オブジェクトでは、次のように nib ファイルをロードします。

私のUIViewController(奇妙なもの)であるデリゲートを所有者に設定しました。そのため、viewcontroller が IBActions を処理することを期待していましたが、そうではありませんでした。私のカスタムオブジェクトはアクションに応答しようとしましたが、セレクターに応答しないため、もちろんアプリケーションがクラッシュしました。どうすればそれを達成できますか?

編集:

ビューコントローラー ビューコントローラー

カスタム オブジェクト カスタム オブジェクト

ニブファイル ニブファイル

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

ios - UITableViewCell を xib からロードする (このクラスはキーのキー値コーディングに準拠していません)

xib ファイルを使用して UITableViewCell のコンテンツをレイアウトする適切な方法について知りたいです。インターネットで見つけたすべての手順に従おうとすると、いつも

キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。

だからここに関連するコードがあります

そして、私の UIViewController で両方を試しました

または使用して

タイトルで述べた例外を除いて、これらのアプローチはどちらも失敗します。owner:self の場合、UIViewController に IBOutlet プロパティがないため、エラーが発生しているようです。owner:nil を使用すると、内部で NSObject が使用されますが、これにはもちろん IBOutlet プロパティもありません。

私が見つけた唯一の回避策は次のとおりです。セルの init メソッド内で、返されたビュー/セルを初期化セルに追加します

例えば

これは本当にばかげているように思えます (ただし、xib のベース タイプを MyCell または UITableViewCell ではなく UIView に変更することもできます)。

人々がこの特定のエラーに遭遇する投稿をたくさん見てきました。これは通常、xib 自体の配線の問題であると説明されていますが、xib 内のすべての接続を削除すると問題なくロードされますが、ui 要素とファイル所有者の間の接続を追加し直した瞬間にエラーが返されるので、 xibの「クリーンアップ」とは何の関係もないと思います(xibのXMLを見ても、誤った接続がリストされていません)。

このエラーがどのように発生するかについて、他の誰かが考えていますか?

0 投票する
0 に答える
337 参照

ios - File's Owner を nib からロードされたカスタム UITabelViewCell に設定するには?

カスタムUITableViewCellを xib ファイルからロードし、View Controller を所有者としてインスタンス化しました。

すべて正常に動作しますが、 null であるため、実装File's Ownerの内部からビュー コントローラーにアクセスできません。TableViewCell

File's Ownerプロパティが設定されていないのはなぜですか? そして、View ControllerをTableViewCellペン先に接続する方法はありますか?

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

ios - TableViewCell の Nib ファイルのビューのサイズ

nib ファイルにある幅を取得して円にしようとしてUIImageViewいますが、間違った値を取得しています

これが私のコードです:

}

テーブルビューで:

0 投票する
0 に答える
2954 参照

xcode - 自分自身をサブビューとして追加できません - xib ファイルをサブビューとして追加する場合

マスターviewControllerにサブビューとしてxibファイルを配置しようとしていますが、本当に奇妙なエラーメッセージが表示されます。

このコードがある場合:

次のエラー メッセージが表示されます。

しかし、私がこのコードを持っているとき:

または単にこれ:

それは機能しています...では、なぜ最初のコードが機能しないのですか!?

編集 :

そして、2つのサブビューを配置しようとしているとき:

同じエラーメッセージで動作しなくなりました:

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

ios - ニブからのIOS loadingView

この最適化の問題があります。写真とラベルで構成される nib のビューがあります。ペン先からロードする方法は次のとおりです。

ロードするたびにかなりの時間がかかります。私の UI はこれらの customViews にかなり重きを置いています。約 50 個の customViews を作成して、mainThread をブロックせずに配置できる必要があります。フレーム付きのinitを使用してそれらを作成するには170ミリ秒かかり、VCにサブビューとして配置するにはさらに350ミリ秒かかります。この場合、メインスレッドの負荷を軽減する方法はありますか? たぶん、プログラムによるアプローチはペン先よりも優れているでしょうか?