タグ付けされた質問 「xib」

30
ロードされたペン先ですが、「ビュー」アウトレットが設定されていません
プロジェクトに新しいnibファイルを追加し、それをロードしようとしました。 ただし、作成したビューに移動するはずのツールバーアイコンをクリックするNSInternalInconsistencyExceptionと、次のメッセージが表示されます。 キャッチされない例外 'NSInternalInconsistencyException'によりアプリを終了しています。理由: '-[UIViewController _loadViewFromNibNamed:bundle:]は "..." nibをロードしましたが、ビューアウトレットが設定されていませんでした。' それで、nibファイルを開いたところ、参照先のコンセントが設定されていないことがわかりました。しかし、「新しい参照アウトレット」の円をクリックしてファイルの所有者にドラッグしようとしましたが、それができません...ビューを表示するために何をする必要がありますか?

23
XibファイルからカスタムUITableViewCellsをどのようにロードしますか?
質問は簡単です:UITableViewCellXibファイルからカスタムをどのようにロードしますか?これにより、Interface Builderを使用してセルを設計できます。メモリ管理の問題により、答えは明らかに単純ではありません。このスレッドは問題に言及し、解決策を提案しますが、NDAのリリース前であり、コードが不足しています。決定的な答えを提供せずに問題を議論する長いスレッドがあります。 ここに私が使用したいくつかのコードがあります: static NSString *CellIdentifier = @"MyCellIdentifier"; MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil]; cell = (MyCell *)[nib objectAtIndex:0]; } このコードを使用するには、の新しいサブクラスであるMyCell.m / .hを作成し、必要なコンポーネントをUITableViewCell追加IBOutletsします。次に、新しい「空のXIB」ファイルを作成します。IBでXibファイルを開き、UITableViewCellオブジェクトを追加し、その識別子を「MyCellIdentifier」に設定し、そのクラスをMyCellに設定してコンポーネントを追加します。最後に、IBOutletsをコンポーネントに接続します。IBでファイルの所有者を設定していないことに注意してください。 他のメソッドは、ファイルの所有者の設定を推奨し、追加のファクトリクラスを介してXibがロードされない場合にメモリリークを警告します。上記のInstruments / Leaksでテストしたところ、メモリリークはありませんでした。 では、Xibからセルをロードする標準的な方法は何ですか?ファイルの所有者を設定しますか?工場は必要ですか?もしそうなら、ファクトリーのコードはどのように見えますか?複数のソリューションがある場合は、それぞれの長所と短所を明確にしましょう...

12
キャッシュを空にしてすべてのターゲットをクリーニングする方法Xcode 4以降
ジョナサンはここに提案します:Xcodeは削除された.xibファイルを含みます!すべてのターゲットをクリーンアップしてキャッシュを空にすることで、削除された.xibファイルを含むXcodeの問題が修正されますが、Xcode 4でキャッシュを空にする方法が見つかりません。 Xcode 4でそれを行う方法?
238 xcode  caching  xcode4  xib 

8
クラスからプログラムでストーリーボードを読み込むにはどうすればよいですか?
私の問題は、ストーリーボードとxibの両方を使用する方法を探していたことです。しかし、プログラムでストーリーボードを読み込んで表示する適切な方法が見つかりません。プロジェクトはxibを使用して開発を開始しましたが、現在、すべてのxibファイルをストーリーボードにネストすることは非常に困難です。それでalloc, init, push、viewControllersのように、コードでそれを行う方法を探していました。私の場合、ストーリーボードにコントローラーが1つだけUITableViewControllerあります。これには、表示するコンテンツを含む静的セルがあります。大規模なリファクタリングを行わずにxibとストーリーボードの両方を使用する適切な方法を知っている人がいれば、私はどんな助けにも感謝します。


26
SwiftでnibからUIViewをロードする
これが私のカスタマイズしたnibを読み込むために使用しているObjective-CコードですUIView。 -(id)init{ NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"myXib" owner:self options:nil]; return [subviewArray objectAtIndex:0]; } Swiftの同等のコードは何ですか?
148 swift  uiview  xib 

6
Xcodeは変更されていないストーリーボードとXIBファイルを変更します
ストーリーボードは、複数の人が共同で作業しているときのgitワークフローの観点から見るとかなり重要な問題です。たとえば、.storyboardファイル内のXMLの開始<document>タグtoolsVersionとsystemVersion属性は、最新のファイルマニピュレータが実行している構成によって変更されます。全員のXcodeバージョンを同期することはに役立つようですtoolsVersionがsystemVersion、開発者が実行している特定のMacやOS Xのバージョンに応じて、何が変わっても変わります。 これはばかげていますが、ほとんど無害です。しかし、心配なのは、他の場合には、他の変更がの後に開くだけで自動的にストーリーボードに加えられることgit pullです。つまり、アリスはストーリーボードに変更を加え、コミットしてリポジトリにプッシュします。次に、ボブはアリスの変更をプルし、ストーリーボードを開いてさらに変更を加えます。彼がストーリーボードを開くと、ファイルのアイコンはすぐに変更されたが保存されていない状態にgit status変わり、変な変更がいくつも発生したことが示されます。ボブが何かを変更したり、ファイルを自分で保存したりせずに、これらすべてが行われました。 私たちが目にしている最も一般的な自動化された変更<classes>は、ストーリーボードファイルの終わり近くにあるタグ階層全体の消失または再出現です。何が原因なのかはわかりません。さまざまな.lprojディレクトリにローカライズされたストーリーボードのバージョンがいくつかあり、それらをInterface Builder内で開くと、クラス階層が一部から自発的に削除されて他に追加されるか、一部が単独で残る場合があります。これにより、で多くのノイズが発生しますがgit diff、実際には機能が損なわれることはありません。多くの場合、gitのインデックスに実際に加えた変更を選択的に追加し、それらをコミットしてから、自然発生的な無意味なだけを破棄します<classes>変更。これは、コミットを本来あるべき状態に保つためです。しかし、最終的には、Xcodeが変更を再実行し続け、誰かが他のいくつかのものと一緒に激しくコミットするので、煩わしくなりすぎます...他の誰かのXcodeがそれらを元に戻して変更しないことを決定するまでは問題ありません明らかな理由。(私たちのコミット履歴には、これについて多くの悪口があります。) 他の誰かがこの動作を見ていますか?これは、Xcodeのバグですか、それとも1つ以上の開発者用Macの構成の問題ですか?XIBファイルを使用して共同作業するとき、いくつかの同様の動作を見てきましたが、ストーリーボードの方が影響を受けやすいようです。

10
ストーリーボードの外部xibファイルからビューを読み込む
ストーリーボードの複数のビューコントローラー全体でビューを使用したい。したがって、外部のxibでビューを設計して、すべてのビューコントローラーに変更が反映されるようにすることを考えました。しかし、どのようにしてストーリーボードの外部xibからビューをロードできますか?そうでない場合、上記の状況に合わせて他にどのような選択肢がありますか?
131 ios  uiview  storyboard  xib 

7
UIViewにxibファイルをロードする方法
私はあらゆる場所を検索してきましたが、今のところ何も役に立っていません。 基本的に、rootView.xibという.xibファイルを作成し、その中に画面の半分しか占めないUIView(containerViewと呼びます)を作成します(通常のビューと新しいビューがあります)。次に、firstView.xibという別の.xibファイルが必要で、それをcontainerView内にロードします。そのため、firstView.xibにたくさんのものを、rootView.xibにたくさんのさまざまなものを置き、rootView.xibのcontainerView内にfirstView.xibをロードできますが、画面の半分しか占めないので、 rootView.xib上のもの
111 ios  objective-c  uiview  xib 

6
UIViewサブクラスのNibをロードする正しい方法
この質問が以前に尋ねられたことは承知していますが、答えは矛盾していて混乱していますので、私を怒らせないでください。 UIViewアプリ全体で再利用可能なサブクラスを使用したいと考えています。nibファイルを使用してインターフェイスを記述したいと思います。 ここで、アクティビティインジケーターを含む読み込みインジケータービューであるとしましょう。いくつかのイベントで、このビューをインスタンス化し、ビューコントローラーのビューにアニメーション化したいと思います。プログラムでビューのインターフェイスを問題なく説明し、要素をプログラムで作成し、フレームをinitメソッド内に設定することなどができます。 どうすればnibを使用してこれを行うことができますか?フレームを設定せずに、インターフェイスビルダーで指定されたサイズを維持します。 私はなんとかこうやってそれをすることができました、しかし私はそれが間違っていると確信しています(それはその中にピッカーを持つ単なるビューです): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } しかし、私は自分を上書きしています。それをインスタンス化すると、次のようになります。 FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; selectView.delegate = self; selectView.frame = CGRectMake(0, self.view.bottom + …

3
ストーリーボードを使用したカスタムビュー
複雑な画面(View Controllers)では、全体を細かく分割するために使用していました(ウィジェットと呼びます)。これらのウィジェットは基本的にMyWidget.hとMyWidget.mファイルおよびファイルで構成されMyWidget.xib、ルート要素はでUIViewあり、MyWidgetクラスはUIViewのファイル所有者です。このウィジェットの初期状態では、を実行しloadNibNamedます。 次に、ビューコントローラーでを実行し[[MyWidget alloc] init]、ビューのコントローラーのメインビューにサブビューとして追加します。これまでのところ、完全に動作します。 ストーリーボードで同じようにするにはどうしたらいいのかと思っています。UIViewどこかにドラッグし始めることができないので、常にから始めUIViewControllerなければなりません。 ストーリーボードでこれを実行する方法がない場合は、メイン画面とセグエにストーリーボードを使用し、別の.xibファイルを使用してカスタムビューを定義することで、以前の方法で単純に実行できますか?
96 ios  storyboard  xib 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.