問題タブ [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.
iphone - デバッガーでプロパティ値を表示する方法
UIViewControllerがあり、myview.view.hiddenなどのプロパティを表示したいと思います。UIViewControllerのインスタンスを宣言する別のクラスでは、コードを介してプロパティを割り当てて読み取ることができますが、さまざまなポイントで値を知りたいと思います。デバッガコンソールで、「pomyview.view.hidden」または「pmyview.view.hidden」を実行できません。それを行う別の方法はありますか?
iphone - presentModalViewController:animated: 閉じた後にクラッシュする
UIViewController
現在、の問題が発生していpresentModalViewController:animated:
ます。
次のコードを使用して、モーダル ビュー コントローラーをセットアップして表示します。
アプリケーション (iPhone シミュレーターで実行中)dismissModalViewControllerAnimated:
が呼び出されるとすぐにクラッシュします。GDB は でクラッシュすると言っていobjc_msgSend
ます。
コードの最後の行 (ナビゲーション コントローラーのリリース) をコメント アウトすると、すべてが機能しますが、UINavigationController
(予想どおり) リークしています。
ここで一体何が起こっているのですか?
iphone - サブビューをビュー階層に追加する
ユーザーがボタンをクリックしたときにビューを表示したいと思います。私が持っている階層は次のようになります。
メインウィンドウ
pages は pageController オブジェクトの NSMutableArry です。これらはペン先に引っ掛けます。これらのペン先は、ユーザーがスクロール ビューでフリックするページです。
InfoButton のクリックは次のように接続されています。
InfoButton は、ScrollView のページの 1 つにあります。試した別のコードをコメントアウトしました。どれもビューを追加しません。何も起こりません。階層のトップ ビューとして TopView を取得する方法はありますか?
iphone - ビューコントローラー:プログラムでビューを切り替える方法は?
要するに、ビュー A とビュー B を切り替えることができる 2 つのフルスクリーン ビューが必要です。内部で何が起こっているのかを知るために、これがどのように手作業で行われるかを知りたいです。
ルートコントローラーとして機能する UIViewController があります。
contentView は、Nib の「ビュー」にサブビューとして追加した UIView に接続されています。これは緑色で、フルスクリーンで表示されます。正常に動作します。
次に、ほとんど同じ方法で、別の 2 つのビュー コントローラーを作成しました。ViewControllerA と ViewControllerB。ViewControllerA の背景は青色、ViewControllerB の背景は黒色です。どちらがアクティブかを確認するだけです。
したがって、myRootController の実装では、次のようにします。
ところで、-initWithNib メソッドは次のようになります。
それはうまくいきます。アプリを起動すると、ViewControllerA からのビューが表示されます。しかし今、大きな問題は次のとおりです。View Controller には通常、次のようなすべてのメソッドがあります。
- (void)viewWillAppear:(BOOL)アニメーション;
- (void)viewDidDisappear:(BOOL)アニメーション;
- (void)viewDidLoad;
...等々。タブバーコントローラーなしで「自分の」方法で実行すると、誰が、何を、またはどのようにそれらのメソッドが呼び出されるのでしょうか? つまり、その ViewController のクラスを割り当ててビューが表示される場合、それらのメソッドの呼び出しに注意する必要がありますか? viewWillAppear、viewDidDisappear、または viewDidLoad をどのように認識しますか? Tab Bar Controller には、このような「賢さ」がすべて備わっていると思います。それとも私が間違っていますか?
更新: 私はそれをテストしました。ビュー コントローラ (例: ViewControllerA) を解放すると、viewDidDisappear にログ メッセージが表示されません。ViewControllerA を割り当てて初期化するときにのみ、viewDidLoad を取得します。しかし、それだけです。したがって、すべての兆候は現在、UITabBarController の巧妙さを表しています ;) そして、それを複製する方法を見つけなければなりませんよね?
iphone - UIViewController-viewDidLoadが呼び出されていません
ココアに慣れていないので、私はInterface Builder
、UIViewController
そして友達といくつかの問題を抱えています。
xibで定義されたUIViewController
サブクラスがありUIView
、コントローラーのビューアウトレットがビューに接続されています。xibの「ファイルの所有者」はmyViewcontrollerサブクラスとして設定されます。
この1つの例では、(メインビューコントローラーから)コントローラー/ビューをロードする次のコードが期待どおりに機能しません。
MyViewControllerのメソッドに、ブレークポイントとログメッセージを配置して、何が起こっているかを確認しました。
期待される結果
-initWithNibName
とメソッドの両方-viewDidLoad
が呼び出され、myViewControllerのビューが表示されます。
観測結果
呼び出されるだけ-initWithNibName
で、ビューは表示されません。
私は何かを逃したことがありますか?誰かがチェックするものをお勧めできますか?(特に、驚くほど不透明なInterface Builderツールで)。
iphone - ビュー コントローラのロード時に initWithNib メソッドが呼び出されないのはなぜですか?
UIViewController から継承するクラスがあります。そこで、次のようなivarの初期化を行いたい:
何らかの理由で、ペン先からロードされたコンテンツが表示されます。しかし、別の理由で、この初期化子は決して呼び出されません。ログメッセージが表示されません。それの何がいけないの?私は確かにペン先を持っているので、実際にはこれを呼び出す必要がありますよね?
iphone - Iphone SDK - サブビューのアニメーション
UIWebView と OptionsPane (カスタム ビューのカスタム UIViewController) を持つビューがあります。
ビューが表示されているときに、オプション ペイン (メイン ビューの上部にある) を所定の位置にフリップする必要があります。コードを使用していますが、奇妙な結果が得られます。
ビューが最初に表示されると、オプション ペインが既に表示されているように見えます... navController で [戻る] を押してビューを再度プルアップすると、アニメーションは完全に機能します。
誰でもこのトピックに光を当てることができますか?
iphone - UINavigationController NIB では、ファイルの所有者にビューが必要ですか?
Interface Builder で View Controller nib のデフォルトの View Outlet を設定する際に問題があります。これが私のセットアップです:
ナビゲーション コントローラーをモーダル ビューとして読み込む TabBar ベースのアプリケーションがあります。
MenuController 自体は次のように構成されています。
MyNavCtrlrSubClass が読み込まれるときに次のエラーが発生することを除いて、これはすべて正常に機能します。
Loaded the "MenuController" nib but the view outlet was not set
これが起こっている理由は明らかです。ファイルの所有者には、そのビューのアウトレット接続がありません。問題は、そのビューとして何を設定する必要があるかということです。そもそも何かを設定する必要がありますか? Navigation Bar は MenuController.xib の唯一の候補ですが、これを行うと、いわば UINavigationBar 自体のサイズがフルスクリーン モードになります。
私は明らかにIBで何かが欠けていますが、何ですか?MyNavCtrlrSubClass.m には、UINavigationController の IBOutlet を除いて、コード自体はありません。IB でこれを完全に設定しようとして間違いを犯していますか? アイデアは、モーダル ナビゲーション コントローラーを 1 つのペン先に保持し、それがロードするすべてのビューを別々のペン先に保持することですが、MenuController はナビゲーションの単なるコンテナーであり、ビュー自体は含まれていないため、明らかに設計が間違っています。:)
なぜ私が別の方法で設計しないのか疑問に思っているのであれば、それは、理想的な階層を構築するよう IB がどのように求めているかについて、私の (おそらく間違った) 認識に従おうとしているからです。
どんな助けでも大歓迎です。
iphone - 固定UIToolbarでモーダルView Controllerを表示するには?
固定ツールバーの下にあるモーダル ビュー コントローラーをセットアップしようとしています。したがって、モーダルビューがロールインしている間、ツールバーは一番上にあるはずです。たとえば、ブックマークボタンを押すと、Safariアプリがそれを行います。ツールバーはそのままで、ボタンが変わります..
ツールバーを前面に押して、 presentModalViewController メソッドをまったく使用せず、代わりに新しいビューを手動でサブビューにアニメーション化するなど、いくつかのことを試しました。しかし、それは他のいくつかの問題をもたらしました。
iphone - iPhone SDK 2: nib ファイルからロードされたネストされたビューで UIButton が機能しない
ボタンのように動作しない Nib ベースのビューにボタンがあります (ターゲット メソッドが呼び出されることはありません)。ボタンを動的に追加しようとしましたが、役に立ちません。
アプリの構造を説明しようとします (この問題の原因であると思われるため)。適切なデザイン パターンを使用していない可能性があります。
ビューAはコントローラーACに関連付けられています。(ルートコントローラーの nib からロードされ、ナビゲーションコントローラーにプッシュされます。)
ビュー A には複数のサブビューが埋め込まれています。それらの 1 つを A' と呼びましょう。
AC::viewDidLoad メソッドでは:
3 つの viewController a、b、cを AC のメンバー変数にロードします。
アプリの設定に応じて、これらのコントローラーの 1 つのビューを A' のサブビューとして追加します。
基本的に AC::viewDidLoad メソッドで:
これで、a.view に (タグ付けされた) ボタンができました。そのタグを検索します。ターゲットメソッドを動的に追加します。この時点で、a.view は A' のサブビューとして表示され、ボタンも表示されます。偉大な。
しかし、タッチ インタラクションが発生しないか、タッチ アクションが私の方法以外の誰かによって消費されます。
私は多くのバリエーションを試しましたが、実行が私の方法に到達することはありません。すべての touchUpEvents にターゲットを追加してみました。なし。有効なイベントのコントロール値を確認しましたが、正しいです。そのボタンはどういうわけか単に無効になっています。ビューが 1 つの単純なアプリを作成し、同じことを行ったところ、うまくいきました。ですから、複数のピースを組み合わせる方法と関係があると思います。
何か案は?
Spy++ のようなものがあれば、メッセージ キューが表示され、アプリケーションの代わりに誰がこのメッセージを消費しているかを確認したり、クラス オブジェクトを確認したりできればと思います。私はこのプラットフォームの初心者です。 これに関する私の以前の闘いは、このスレッドにあります。