問題タブ [uiviewcontroller]

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

iphone - ビューを新しいスーパービューに移動すると、古いスーパービューから自動的に解放されますか?

とにかく、 addSubview を使用して別のビューに追加する場合、 UIView がそのスーパービューから自動的に解放されるかどうかは明確ではありませんか?!? ビューが持つことができるスーパービューは 1 つだけであることはわかっていますが、サブビューをあるスーパービューから別のスーパービューに移動する方法について正確にはわかりません。

ビューを保持、 (古いスーパービューから) 解放、新しいスーパービューにサブビュー追加

また

サブビューを新しいスーパービューに追加するだけですか?

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

iphone - ViewControllerとViewの間でハンドルを渡す

ユーザー入力に基づいて変更されるブール値の配列(soundArray)があります。したがって、ユーザーが操作しているメインUIViewによって所有されます。一方、別の別のコントローラー(GestureController)では、このsoundArrayにアクセスする必要があるため、メソッド呼び出しでパラメーターとして渡すことができます。

ViewControllerが所有していないUIViewのプロパティを掘り下げてはいけないと確信しているので(正しいMVC)、メインUIView(MusicGridView)を所有しているViewController(MusicGridController)にsoundArrayへの別のポインターを作成しました)。

GestureControllerには、次のコードがあります。

(最終的には、その配列にさらに多くのsoundArrayが含まれるようになります)。

ここで、MusicGridControllerで、UIView MusicGridViewのSoundArrayへのポインターを設定する必要があります...これを行いました:

self.soundArray = self.view.soundArrayを試しましたが、エラーが発生し、理由がわかりません。だから私の質問は:これは正しい実装ですか?1つのviewControllerから特定のUIViewのプロパティに移動するにはどうすればよいですか?

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

cocoa-touch - UIView のように、UIViewController を他の UIViewController 内に「ネスト」するのは賢明ですか?

とにかく、私にとってはかなり複雑なビューがあり、カスタム インターフェイス アイテムが配置された「トレイ」がいくつかあります。それらは私のルートビューに出入りします。ビュー内の項目をネスト (addSubview) したいと思います。それぞれが表示される前にいくつかの設定が必要です...そしてIBで設定できるものはありません(UIViewのサブクラスです)。

「トレイ」ごとに UIViewController をサブクラス化し、カスタム UIView オブジェクトを設定できる「トレイ」ビューを VC のビュー プロパティにポイントさせることが理にかなっているのかどうか疑問に思っています。このようにして、UIViewController の viewDidLoad などのメソッドを活用できます。

少なくとも私が見たいくつかのサンプルでは、​​他の人がこれを行っていることを知りません。一度に複数のView Controllerが画面に表示される状況が発生します。ナビゲーション コントローラー自体から rootViewController とそのビュー、そして任意の数 (画面サイズが許す限り) のこれらの小さなtrayViewControllers まで。もしそうなら、レスポンダーチェーンはどのように機能していますか? 私はそれが最下位のUIViewからそれを囲むVCに行き、次にそのVCの親ビューに行き、次にそのビューのVCなどに行くと思います..繰り返し、繰り返し.. UIApplicationまで...私はトラブルを求めていますか?

または、UIViewsに固執し、サブビューをサブビューに追加するなど..

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

iphone - iPhone で uiviewcontroller をリロードする方法

UIViewController に設定した値をリロードして、このコードで遷移するたびに更新しようとしています (出入りは両方とも UIViewControllers です)。

次のビューで電話番号の値が変更された場合、ビューがサブビューに挿入されたときに表示されません。ビューに更新された電話番号を表示するにはどうすればよいですか?

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

iphone - UIView と UIViewController

わかりましたので、私はiPhone開発に本当に慣れていません。私の知識はかなり進んでいます。これらの 4 ~ 6 枚の写真を自分のプロジェクトにプログラムする方法を決める手助けが必要です。

私は基本的に、ユーザーがある写真から別の写真にスワイプできる漫画本を作りたいと思っています。これらの画像はすべて UIVIEW または UIViewController にあるべきですか?

そして、これらの写真を接続してタッチ用のコードを追加できるようにするためのヒントは素晴らしいでしょう!

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

uiviewcontroller - UIViewController は、nsnotification を受信した後にスーパービューから削除します

通知を受け取った後、スーパービューから UIViewController を削除しようとしていますが、うまくいきません。

私のappDelegateでは、次のようなことをしています:

SplashViewController で、ビューを登録して、次のように NSNotifications を受け取ります。

SplashViewController は Default.png の直後に表示され、一部のデータが解析された後にスムーズにフェードするはずです...

私のTableViewControlerでは、viewWillAppearメソッドで通知を送信したいのですが、うまくいきません。

メソッドは呼び出されますが、ビューはスーパービューから削除されません。postNotification を - (void)viewDidLoad に入れようとしましたが、メソッドが呼び出されません...

これが機能しない理由はありますか?前もって感謝します

0 投票する
5 に答える
4613 参照

iphone - dismissModalViewControllerAnimated非アトミック?

奇妙なタイミングの問題があるようです。モーダルビューとしてuiimagepickerを開きます。ユーザーが画像を選択したとき、または画像を撮りたいときは、それを変数に保存してから、モーダルビューとして電子メールインターフェイスを開きます。

私の問題は、imagepickerでdismissModalViewControllerを呼び出してから、電子メールインターフェイスのpresentmodalviewcontrollerを呼び出していますが、電子メールビューが表示されるのに間に合うようにimagepickerが消えないことです。そのコード行が完了するのを「待つ」方法はありますか?

私は何か間違ったものを設計したと確信していますが、できれば助けてください。

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

iphone - viewControllerをNavControllerの下に移動しましたが、awakeFromNibとinitWithCoderが起動しませんか?

別の(ビューベースのテンプレート)プロジェクトにまとめたやや複雑なビューがあります(View ControllerはMainWindow.xibではオレンジ色のアイコンで表されていました)。これで、ナビゲーションコントローラーによって管理される別のプロジェクトに移動することにしました。これは、UINavigationControllerのかなり単純なpushViewController:animated:メソッドから呼び出されます。

MyViewControllerには対応するnibファイルがあります(おそらく私の混乱の一部は、クラスとnibの名前がほぼ同じで、接尾辞.m、.h、および.xibのみが異なることです)。これが最初のプロジェクトでの起動時の最初のビューである場合、インスタンス化されたときにawakeFromNibinitWithCoderの両方が呼び出されます。現在、viewDidLoadのみが呼び出されているようです。

何が/なぜそんな違いがあるのか​​迷ってしまいました!?SOで関連する他のスレッドをいくつか見つけましたが、それでも次のような答えで頭を 悩ませています。 「コントローラー自体がペン先からアーカイブ解除されるとawakeFromNibが呼び出されます。ビューが作成/アーカイブ解除されると、viewDidLoadが呼び出されます。これコントローラのビューが別のペン先ファイルに保存されている場合、区別は特に重要です。」

区別は、正確には、ViewまたはViewControllerのアーカイブが解除されているものに依存しているようです。したがって、ViewControllerがインスタンス化されてプッシュされている場合、viewDidLoadが呼び出されることだけを期待する必要がありますか?一方、ViewControllerにIBOutlet(およびそれを表すオブジェクトVCオブジェクトがNibにドラッグされている)がある場合、initWithCoderとawakeFromNibの両方が呼び出されることを期待できますか?

誰かが私をまっすぐにするのを手伝ってくれませんか?非常に特定の状況でさまざまなメソッドが任意に呼び出された場合、これらのビュー/コントローラーを再利用することはより困難になるようです...または、確かにそうであるように、これがまさに、非常に特定の状況で呼び出される理由です..iさまざまな方法のそれぞれの間の描写をまだ完全には理解していません。

誰かが私をまっすぐにするのを手伝ってくれますか?

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

iphone - UIViewのサブビューを動的に設定する方法(iPhone)?

私は確かにここで完全に愚かなことをしています、うまくいけば誰かが私に何を教えてくれるでしょう!要約すると、ボタン(セグメント化されたボタンを使用します)がクリックされたときに、プログラムでサブビューを切り替えたいと思います。アニメートする必要はありません。理想的には、これらのビューのコンテンツをペン先からロードします。

ペン先から初期化されたUIViewControllerサブクラスをnavigationControllerにプッシュしています。このビューコントローラと「デフォルト」のビュー表示は問題ありません。このペン先には次のものが含まれます。

おそらく私は自分のIBアウトレットを間違えましたか?それらは次のように接続されています。

そしてどこswitchableViewで宣言されますか:

このUIViewのコンテンツを置き換えることに固執しています。まず、ビューが最初に実現したときにデフォルトに設定したいと思います。それを取得したら、セグメント化されたボタンによって生成されたイベントをすでにキャプチャできるので、他のものに交換するのは簡単です。誰かが私が間違っていることを教えてもらえますか?

そのメソッド(そのままで)呼び出されますviewDidLoadが、どちらも役に立ちません。私は[switchableView addSubview:view]間違っていると思います。私も試しましswitchableView = viewたが、JavaとPerlの安全性に長い間取り組んでいるため、それが正しいかどうかを100%確信することはできません。

誰かが私をまっすぐにすることができることを願っています。前もって感謝します、

ポール

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

iphone - なぜこれが過度にリリースされているのですか?UINavigationController / UITableview

次のように、TableViewController の didSelectRowAtIndexPath メソッド内からビュー コントローラーをナビゲーション コントローラーのスタックにプッシュしています。

最後の行のコメントを外すと、アプリがクラッシュしてエラーが返されます。

もう少し掘り下げてみると、クラッシュは MyViewController の dealoc メソッド内の [super dealoc] への呼び出しにさらに絞り込むことができることがわかりました。"[super dealoc]" のコメントを外すと、クラッシュしなくなります。

これ以上絞り込めなくて困っています。「スーパー」はUIViewControllerクラスであり、そのdealocメソッドをさらに調査することはできません...できますか? 0xd4f860 が何を指していたのかを正確に確認する方法があるかもしれませんが、その方法はわかりませんか? 何か案は?