問題タブ [uistoryboard]
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.
iphone - ストーリーボードの表示方法は?(iPhone)
を使用して表示したいストーリーボードを作成しましたUINavigationController
。の最初のビューはstoryboard
なのでUITableViewController
、のサブクラスを作成し、UITableViewController
それに一致するようにストーリーボードにクラスを設定しました。
次に、ストーリーボードを次のように表示しようとします。
しかし、私の見解は何らかの理由で表示されません。誰か助けてもらえますか?
ios - UIStoryboard popViewController
アプリケーションで UISegue を使用して、アプリケーション内のビューコントローラー間を自動的に遷移させています。私はそれらをAとBと呼びます。
期待どおりに機能しましたが、B から A にポップバックしたいときに呼び出しを試みました
[self.navigationController popViewController]
が、B の navigationController プロパティが null を報告しました。
2 回目の試みとして、ボタンを UISegue にマップしてビュー コントローラー A に戻そうとしました
が、これは新しい ViewController を作成するだけです。
B viewcontroller
回避策として、回避策としてUIStoryboard からを取得して呼び出すことになりました[A.navigationController pushViewController:B]
その時点で、呼び出し[B.navigationController popViewController]
は期待どおりに機能しました。
これは間違っているようです。ストーリーボードのセグエから、以前のView Controllerに戻るにはどうすればよいですか?
ios - 別のViewControllerからストーリーボードViewControllerを提示する
iOSアプリのストーリーボードに複数のUIViewControllerがあります。別のUIViewControllerから(ストーリーボード内の)UIViewControllerの1つを開きたい。
以下のコードを試しましたが、iOS 5より前に使用したにもかかわらず機能せず、正常に機能しました。
iOS 5ストーリーボードでこのアクションを実行するにはどうすればよいですか?
objective-c - if ステートメントは、条件変数が設定される前に実行されます
以下に示すように、if
条件がこの実装ファイルに渡されるステートメントがありNSUserDefaults
ます。
文字列変数を取得するこのコードの後に、if ステートメントがあります。
if
ビルドして実行すると、変数が渡されているように見えますが、ステートメントが実行されるまで渡されません。
NSLog
このコードの周りに文字列変数を返す場所がselectedCodeLocal
あり、変数の値は常に一歩遅れています。(たとえば、最初に 4 として渡し、次に 1 として渡すと、最初に 1 として、次に 4 として、次に 1 としてログに返されます) 混乱させてしまった場合は申し訳ありません。
アップデート:
NSLog には、 の古い値が引き続き表示されますselectedCodeLocal
。
更新: そのキーが設定されている場所です。(前のビューで)
@Firoze Lafeer: これはあなたの質問に答えますか?
iphone - NIB に tableview がないテーブル RTE を含むストーリーボード
最新の XCode と IOS 5 に更新したところです... 以前は機能していなかったようです。
ストーリーボードの「XIB」には、UIViewController があります。その下に View を置き、その下に UITableView を置きます。
右クリックしてデータソースをアタッチし、上記のトップ レベルの UITableViewController にデリゲートします。XIBファイルだけの「古い」方法では、これらをFILES OWNERに添付していました。
次に、myTable という名前の IBOutlet を作成し、テーブルをそのアウトレットに接続します。
このバージョンの XCode の前は、これだけでコードを実行できました。
アプリの起動時に上記のすべてを実行しても、XIBにUITableViewがないと表示されます。
だから私は最初からやり直してUIViewを取り出しました。これで、UIViewController とその下に UITableView ができました。そして今、アプリは動作します。この単純なペン先を使用すると、私が追加する参照は問題にならないようです。これは良いことですが、UIView に他のオブジェクトを追加する必要があります。
これがあまり混乱しないことを願っています!私が知る必要があるのは、ストーリーボードにニブを作成し、次にビューを追加してからテーブルを追加するとき、どのような参照やアウトレット、またはアプリが実行されるために必要なものですか?
助けてくれてありがとう!
objective-c - ビュー コントローラの指定されたイニシャライザでセグエを使用できますか?
私はストーリーボードが初めてで、ボタンからビューコントローラーへのセグエを設定しました。SFListViewController
このビュー コントローラは、指定されたイニシャライザを持つカスタム サブクラスinitWithList:
です。
指定されたイニシャライザを使用することが、View Controller を正しく初期化する唯一の方法です。ただし、セグエを使用する場合、指定された初期化子は呼び出されません (明らかに)。
実行時にセグエ呼び出しを指定されたイニシャライザーにするにはどうすればよいですか?
objective-c - ストーリーボード セグエを使用して ABPeoplePickerNavigationController を表示する
ボタンがタッチされたときに People Picker を表示したい新しいプロジェクトがあります。
だから私は識別子UIButton
を持つジェネリックにセグエを持っています。この ViewController のクラスを に設定します。UIViewController
showContacts
ABPeoplePickerNavigationController
ルート ViewController には、ピッカーを初期化するための次のコードがあります。
シミュレータ アドレス帳にテスト用の連絡先を追加しましたが、結果は次のようになります。
ピッカーなし http://i.minus.com/jbwUQyLr36ChHo.png
メソッドで行うことと非常によく似た次のコードを使用するとprepareForSegue:
、 を介してピッカーを表示できIBAction
ます。
結果:
ピッカー http://i.minus.com/jeEVeIBmfIYdR.png
People ピッカーが表示されない理由はよくわかりません。
delegates - ストーリーボードの SplitView、デリゲートを接続できません
SplitViewController を使用して、ストーリーボードで定義された iPad インターフェイスがあります。SplitViewController のデリゲートを詳細コントローラーを指すように設定したいのですが、IB はその接続を許可しません。
- 「オブジェクト」オブジェクトを配置し、クラスを詳細コントローラーのクラスに変更すると、デリゲートは、表示されているものとは異なる詳細コントローラーのインスタンスをポイントします。
- アプリのデリゲートで (didFinishLaunching で) 手動で接続しようとしても無駄でした。デリゲートはまだゼロでした。
- デリゲートを AppDelegate に変更し、そこにプロトコルを実装すると機能しましたが、詳細コントローラーにメッセージを渡すことは機能しませんでした (同じインスタンスを参照していることを確認したにもかかわらず)。
何も機能しません。詳細ビューがいつ読み込まれるかを設定できself.splitViewController.delegate = self
、問題なくデリゲートになります。しかし、その時点より前に発生したデリゲート呼び出しは見逃しています。
コンテキストについては、splitviewcontroller のデリゲート呼び出しを取得して、標準的な方法であるポップオーバーを表示するボタンを詳細ビューに表示できるようにする必要があります。現在、アプリを縦向きで起動した場合、ボタンを表示するには横向きに回転させてから元に戻す必要があります。
私は問題なく「通常の」xibsでこれを行いました。これは、ストーリーボードのシーンをまたいでアウトレットを接続できないという、より一般的な問題の特殊なケースのようです。
ios - ストーリーボード-デリゲートの設定
ストーリーボードの前は、アウトレットをクラスにドラッグするだけでデリゲートとデータソースを設定できました。ストーリーボードでは、アウトレットを別のViewControllerにドラッグできません。それに応答する宛先はありません。
ビューコントローラオブジェクトをクリックすると、下部にクラスの所有者が表示されますが、コンセントを含む他のビューコントローラを選択するとすぐに古い選択が失われるため、2つを接続できません。
これは、プログラムでのみ接続する必要があるというAppleの言い方ですか?
ios - モーダルセグエは新しいオブジェクトを作成しますか?
UINavigationController
モーダルセグエを使用して、あるView Controllerから別のView Controllerに移行しています。このView Controller(およびその子View Controller)がメモリ内にとどまり、特定の参照が維持されることが重要です。明らかにこれは起こっていませんが。viewWillAppear
関数をデバッグするとき、 rootViewController
(viewControllers[0]) 参照は呼び出し間で異なるメモリアドレスを指します (そして nil 値が含まれています、私の実際の問題)。この問題を引き起こす可能性のある 2 つの可能性があります。
- UiNavigationController が破棄されました
- rootViewController が破棄されました
しかし、非常に紛らわしいことに、それらのどれも起こりませんでした。UINavigationController も rootViewController も破棄されませんでした (viewDidUnload は呼び出されません!)。
編集: さらに調査した結果、UINavigationController がモーダル セグエごとに実際に再作成されていることがわかりました。プロパティを維持することで問題を解決できることを願っています。