問題タブ [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 投票する
1 に答える
610 参照

iphone - デバッガーでプロパティ値を表示する方法

UIViewControllerがあり、myview.view.hiddenなどのプロパティを表示したいと思います。UIViewControllerのインスタンスを宣言する別のクラスでは、コードを介してプロパティを割り当てて読み取ることができますが、さまざまなポイントで値を知りたいと思います。デバッガコンソールで、「pomyview.view.hidden」または「pmyview.view.hidden」を実行できません。それを行う別の方法はありますか?

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

iphone - presentModalViewController:animated: 閉じた後にクラッシュする

UIViewController現在、の問題が発生していpresentModalViewController:animated:ます。

次のコードを使用して、モーダル ビュー コントローラーをセットアップして表示します。

アプリケーション (iPhone シミュレーターで実行中)dismissModalViewControllerAnimated:が呼び出されるとすぐにクラッシュします。GDB は でクラッシュすると言っていobjc_msgSendます。

コードの最後の行 (ナビゲーション コントローラーのリリース) をコメント アウトすると、すべてが機能しますが、UINavigationController(予想どおり) リークしています。

ここで一体何が起こっているのですか?

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

iphone - サブビューをビュー階層に追加する

ユーザーがボタンをクリックしたときにビューを表示したいと思います。私が持っている階層は次のようになります。

メインウィンドウ

pages は pageController オブジェクトの NSMutableArry です。これらはペン先に引っ掛けます。これらのペン先は、ユーザーがスクロール ビューでフリックするページです。

InfoButton のクリックは次のように接続されています。

InfoButton は、ScrollView のページの 1 つにあります。試した別のコードをコメントアウトしました。どれもビューを追加しません。何も起こりません。階層のトップ ビューとして TopView を取得する方法はありますか?

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

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 の巧妙さを表しています ;) そして、それを複製する方法を見つけなければなりませんよね?

0 投票する
11 に答える
64515 参照

iphone - UIViewController-viewDidLoadが呼び出されていません

ココアに慣れていないので、私はInterface BuilderUIViewControllerそして友達といくつかの問題を抱えています。

xibで定義されたUIViewControllerサブクラスがありUIView、コントローラーのビューアウトレットがビューに接続されています。xibの「ファイルの所有者」はmyViewcontrollerサブクラスとして設定されます。

この1つの例では、(メインビューコントローラーから)コントローラー/ビューをロードする次のコードが期待どおりに機能しません。

MyViewControllerのメソッドに、ブレークポイントとログメッセージを配置して、何が起こっているかを確認しました。

期待される結果

-initWithNibNameとメソッドの両方-viewDidLoadが呼び出され、myViewControllerのビューが表示されます。

観測結果

呼び出されるだけ-initWithNibNameで、ビューは表示されません。

私は何かを逃したことがありますか?誰かがチェックするものをお勧めできますか?(特に、驚くほど不透明なInterface Builderツールで)。

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

iphone - ビュー コントローラのロード時に initWithNib メソッドが呼び出されないのはなぜですか?

UIViewController から継承するクラスがあります。そこで、次のようなivarの初期化を行いたい:

何らかの理由で、ペン先からロードされたコンテンツが表示されます。しかし、別の理由で、この初期化子は決して呼び出されません。ログメッセージが表示されません。それの何がいけないの?私は確かにペン先を持っているので、実際にはこれを呼び出す必要がありますよね?

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

iphone - Iphone SDK - サブビューのアニメーション

UIWebView と OptionsPane (カスタム ビューのカスタム UIViewController) を持つビューがあります。

ビューが表示されているときに、オプション ペイン (メイン ビューの上部にある) を所定の位置にフリップする必要があります。コードを使用していますが、奇妙な結果が得られます。

ビューが最初に表示されると、オプション ペインが既に表示されているように見えます... navController で [戻る] を押してビューを再度プルアップすると、アニメーションは完全に機能します。

誰でもこのトピックに光を当てることができますか?

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

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 がどのように求めているかについて、私の (おそらく間違った) 認識に従おうとしているからです。

どんな助けでも大歓迎です。

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

iphone - 固定UIToolbarでモーダルView Controllerを表示するには?

固定ツールバーの下にあるモーダル ビュー コントローラーをセットアップしようとしています。したがって、モーダルビューがロールインしている間、ツールバーは一番上にあるはずです。たとえば、ブックマークボタンを押すと、Safariアプリがそれを行います。ツールバーはそのままで、ボタンが変わります..

ツールバーを前面に押して、 presentModalViewController メソッドをまったく使用せず、代わりに新しいビューを手動でサブビューにアニメーション化するなど、いくつかのことを試しました。しかし、それは他のいくつかの問題をもたらしました。

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

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++ のようなものがあれば、メッセージ キューが表示され、アプリケーションの代わりに誰がこのメッセージを消費しているかを確認したり、クラス オブジェクトを確認したりできればと思います。私はこのプラットフォームの初心者です。 これに関する私の以前の闘いは、このスレッドにあります。