問題タブ [uisplitviewcontroller]
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 - UISplitViewController の上にモーダル ビューを表示するためのベスト プラクティス
SplitViewController テンプレートに基づいて新しいアプリを作成すると、Split View で正常に動作します。
私のメイン画面は、非分割ビューの「メニュー」です。この「mainMenu」をsplitViewControllerの上にモーダルで追加するためのベストプラクティスを見つけようとしています。(次に、他の分割されていないビューを mainMenu の上にプッシュするか、それを削除して表示し、UISplitViewController を使用します。)
私が試してみました:
と
rootViewController と detailViewController の viewWillAppear メソッドと viewWillLoad メソッド。どちらの場合も、コードはエラーなしで実行されますが、mainMenu は表示されず、通常の detailViewController と rootViewControllers が表示されます。
(main.xibファイルのnavigationControllerからdetailViewのnavigationControllerへのアウトレットを作成しましたが、何も変わりませんでした。)
を使用してこれを機能させることができましたが、これは正しくないようです。
このようなカバー ビューをモーダルに表示するようにという多くの回答を見てきましたが、splitViewController セットアップで適切な場所または構成を見つけることができないようです。助けや洞察をありがとう。
最後に、このアプローチは間違っていますか? detailViewController を交換して、ポートレート モードで全画面表示にし、ルート コントローラーのメニュー項目を追加しないようにする必要がありますか?
ipad - UITabBarController の UIViewController と UISplitViewController shouldAutorotateToInterfaceOrientation
iPad コードに問題があります。
UIViewController と UISplitViewController を保持する UITabBarController があります。問題は、UIViewController と UISplitViewController でさえ、向きの変更を正しく認識しないことです。
TabBarController とすべての UIViewControllers に shouldAutorotateToInterfaceOrientation を設定しましたが、TabBarController である Top moast ViewController の willRotateToInterfaceOrientation のみが起動することに気付きました。TabBarController から shouldAutorotateToInterfaceOrientation を削除すると、サブ UIViewControllers から willRotateToInterfaceOrientation が呼び出されます。最大の問題は私の UISplitViewController です。これは、新しい interfaceOrientation に回転しますが、Portrait Layout で動かなくなるためです。
向きの変更を含む ViewControllers と Splitviews を使用して TabBarController を正しく実装するにはどうすればよいですか?
iphone - iPhone/iPadユニバーサルアプリはiPhone用にビルドされません
私は自分のアプリケーションをiPhoneとiPad(ウィンドウベースのアプリケーション;ユニバーサル)用にゼロからユニバーサルにしました。まず、iPhoneのすべてのロジックとビューを作成しましたが、機能しました。その後、iPad用のビューを作成しました。それはうまくいきました。しかし、UISplitViewControllerまたはUIPopoverを実装すると、アプリケーションはiPhone用にビルドされなくなります。
カスタムsplitViewControllerを次のように呼び出します。
クラス定義は次のようになります。@interfaceMySplitViewController:UISplitViewController {}
ビルド時(iPhone 3.1.3の場合)、次のエラーが発生します。
'MySplitViewController'のスーパークラスである'UISplitViewController'のインターフェイス宣言が見つかりません
Afcourse、SDK 3.1.3には、SDK3.2のすべての新機能が含まれているわけではありません。それは明らかです。そこで、次のようにクラスのインスタンスを作成してみました。
それでも同じエラーが発生します。
フレームワークを弱くリンクしようとしましたが、どちらも役に立ちませんでした。
また、私が試したのは、クラスのインスタンスの作成を次のように括弧で囲んでラップすることです。
両方のプラットフォームでアプリケーションを実行できるように、特定のクラスを呼び出す方法を誰かに教えてもらえますか?
ありがとう
ipad - UISplitViewController detailViewController サブビューが向きの変更時に適切にサイズ変更されない
こんにちは、私の iPad アプリケーションには次の設定があります。
UISplitViewController DetailSide-> SomeDetailViewController-> サブビューを [SomeDetailViewController.view addSubview:AnotherViewController.view] として追加
「AnotherViewControllerビュー」が表示されているときに起動した後、その初期寸法は、現在のデバイスの向きに関係なく、そのビューXIBを保存した最後の向き(インターフェイスビルダーの縦向き/横向きビュー)と常に同じです。
また、追加されたサブビュー(AnotherViewController.view)のフレームをリセットすると、つまりA.-[SomeDetailViewController viewDidLoad]で現在のデバイスの向きを確認しますB.AnotherViewController.viewのフレームを必要なサイズに合わせて設定します。その後、方向の変更時に適切にサイズ変更されません(XIB自動サイズ変更ボックスでスプリング/ストラットを正しくセットアップしています)。
上記のステップ 2. を実行した後、下からの AnotherViewController.view の約半分がタッチに応答しないことがわかります。フレームの変更により、応答する座標がめちゃくちゃになるように見えます。
すべてのView Controllerのすべての向きに対してYESを返すように「shouldAutorotateToInterfaceOrientation」を実装しています。
ティア。
ipad - iPad Splitview テンプレートとモーダル ビュー
SplitView テンプレート内でモーダル ビューを実行しようとしています。
作成することはできますが、デバイスを回転させるか、モーダル ビューを押すと、すべての背後に消えてしまいます。
フルスクリーンモーダルビューを作成するにはどうすればよいですか? 私はすべてのモーダル スタイルを試しましたが、モーダル ビューは定着しません。
iphone - UISplitViewController - メモリ警告への対処
マスター VC が読み込まれ (UITableViewController)、テーブル セルが押されると、詳細 VC (2 つの UIWebViews を持つ UIViewController) が作成される UISplitViewController を使用しています。
メモリ警告をシミュレートすると、DetailVC が解放されます (didReceiveMemoryWarning、viewDidUnload、dealloc が呼び出されます) が、viewController を解放する MasterVC の行で、"-[UIView _invalidateSubviewCache]: message sent to deallocated instance" エラーが発生します。メモリ警告のために解放された detailViewController (DetailVC) をロードしようとするため、理にかなっています。ビューが表示されているため、なぜ詳細VCを解放する必要があるのか 、私は完全には理解していません。
ここで、detailViewController を didSelectRowAtIndexPath 内で解放する代わりに、viewWillDisappear 内で解放すると、すべて正常に動作します。
私にとっては、マスターView Controllerが消えたときに詳細View Controllerを解放することは(ある程度)理にかなっていますが、それでもハックのように思えます(さらに、静的アナライザーは「右側」で詳細VCを解放しないと不平を言います場所)。これを解決する他のより良い方法はありますか?
cocoa-touch - RootViewController ではない UIsplitViewController
SplitViewController ビューを表示したい。しかし、 SplitViewController を rootView Controller にしたくありません。UInavigationViewController を rootViewController として使用し、最初のビューの後に SplitViewController ビューを表示したいと考えています。これは可能ですか?
ipad - UIViewController を UISplitView Controller に置き換えるにはどうすればよいですか?
私のは通常のviewcontrollerアプリケーションです。この mainView のボタンをクリックすると、2 番目のビュー (別の xib) がサブビューとして mainView に追加されます。この 2 番目のビューを分割ビューに置き換えてください。つまり、2 番目のビュー コントローラーを UISplitViewController に置き換える必要があるということですね。
それをしてもいいですか?v add a viewcontroller's view のように、splitviewcontroller のビューを追加することは可能ですか?
iphone - ユニバーサルアプリのUISplitViewControllerサブクラス
私はiPad用のUISplitViewControllerを使用するユニバーサルアプリを構築しており、第1世代のiPhone /iPodtouchなどの3.0デバイスでも動作するはずです。問題は、アプリがiPhoneで実行されている間、UISplitViewControllerのインスタンスを実際に作成していないにもかかわらず、それでも恐ろしいことです。
第1世代iPodtouchで実行しようとすると、コンソールでエラーが発生します。ただし、iOS4デバイスではすべて正常に動作します。問題は、UISplitViewControllerをサブクラス化していて、.hファイルから "@interface SplitControl:UISplitViewController{"行を読み取るときにチョークすることだと思います。
サブクラス化した唯一の理由は、shouldAutorotateToInterfaceOrientationメソッドをオーバーライドすることです。私はIBなしでプログラム的にアプリ全体を実行しています。IBを使用してSplitViewControllerを作成し、すべての方向をサポートするように指示すると役立ちますか?
コントローラをサブクラス化せずにshouldAutorotateToInterfaceOrientationをオーバーライドする方法はありますか?3.2より前のデバイスからUISplitViewControllerを非表示にする他の方法はありますか?
ipad - UISplitViewController のポートレート モードで表示される UIBarButtonItem のカスタム ビューを提供する方法は?
UISplitViewController を使用しているときにポートレート モードにすると、barButtonItem によって提供されます。そのbarButtonItemにcustomViewを使用するにはどうすればよいですか?
私は次の方法を試しました。縦向きから始めるとうまくいきます。しかし、横向きにすると、戻ってきたときにクラッシュします。
ビューでDidLoad
次に willHideViewController で
私は何をしますか?または代替ソリューションはありますか?