問題タブ [uivewcontroller]
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.
objective-c - カスタムビルドのUIViewControllersの間でデータを渡す値は、iOS8で動作するiOS 9でnilになりました
カスタム UIViewController を作成しました。
しかし、iOS9 の viewWillAppear では、optionArray の値が nil になりました。iOS8で動いていました。私はこれに何時間も費やしましたが、運がありませんでした。
getPopoverViewControllerForTextField
ここで、上記のメソッドを呼び出しました。
上記のコードを実行した後でも、optionArray の値を確認できます。optionArray はまだ内部に存在します
しかし、viewWillAppear の実行を開始すると、optionArray は nil になりました。
ios - UIImagePickerController & ビューがウィンドウ階層にありません
私は単純なSwiftプロジェクトを持っています:
ViewController A ( class ViewController: UIViewController
) はViewController B -- ( class WebViewController: UIViewController, WKNavigationDelegate, CLLocationManagerDelegate, WKScriptMessageHandler
) を表します。
ViewController B は本質的に単なる WKWebView ですviewDidLoad()
。
したがって、ViewController B が表示されると、基本的に画面全体に Web ブラウザーが表示されます。
私が直面している問題は、ユーザーが (Web ページ上で) 「ファイルのアップロード/ファイル ピッカー」をクリックすると、最初に次のように表示されることです。
タイプ public.item で渡されたものは、public.content または public.data のいずれにも準拠していません。新しい型をエクスポートする場合は、適切な親型に準拠していることを確認してください。UICollectionViewFlowLayout の動作は定義されていません。アイテムの幅は、UICollectionView の幅から、セクション インセットの左右の値を差し引いた値、コンテンツ インセットの左右の値を差し引いた値よりも小さくなければならないためです。
関連する UICollectionViewFlowLayout インスタンスは <_UIAlertControllerCollectionViewFlowLayout: 0x12e30f270> であり、にアタッチされています。アニメーション = {bounds.origin=; 境界.サイズ=; 位置=; }; レイヤー = ; contentOffset: {0, 0}; contentSize: {0, 0}> コレクション ビュー レイアウト: <_UIAlertControllerCollectionViewFlowLayout: 0x12e30f270>。
次に、ユーザーが iOS オプション リストから「写真またはビデオを撮る」または「フォト ライブラリ」を選択すると、次のようになります。
警告: UIImagePickerController: 0x12d192200 on My.WebViewController: 0x12e2883e0 ビューがウィンドウ階層にないことを提示しようとしています!
結果は次のとおりです。
- フォト ライブラリ ピッカー // カメラ アプリは表示されません。
- なんらかの理由で、ViewController B がアニメーションで閉じられます。
誰か提案はありますか?関連するコードを提供しようとしましたが、必要に応じてさらに貼り付けることができます。ありがとうございました。
- アップデート - - - -
さて、さらに調査した結果、実際には2つの別々のことが起こっています。
最初のエラーは、「ファイル ピッカー」がモバイル ブラウザによってどのように処理されるかの関数です。 ここを参照してください...物事の壮大な計画であり、大したことではありません。
2 番目のエラー
Attempt to present UIImagePickerController...
-- 2 つの中でより衰弱させる -- は、より醜いものです。
WKWebView を持つ ViewController が別のViewController から提示された場合、ユーザーが (ライブラリまたはカメラから) 画像を「選択」しようとすると、iOS は WKWebView ViewControllerからUIImagePicker を提示しようとします。
残念ながら、理由はまだわかりませんが、ユーザーが画像を「選択」しようとすると、iOS は提示されたビュー コントローラーを却下します。この場合、それはあなたの WKWebView コントローラーです :( 、WKWebView ViewControllerが消えるため、UIImagePickerを表示しようとするとウィンドウ階層にありません-したがって、エラーです。
私の解決策(かなりハックですが、私の特定のユースケースで機能します)は次のとおりです。これが誰かに役立つことを願っています:
- WKWebView ViewController ( ViewController B )をインスタンス化する
- VC Bをアプリのルート ビュー コントローラーとして設定する
- ViewController AからVC Bを提示する
- VC Aを却下する
これにより、本質的に WKWebView を閉じることができなくなり、問題を回避できます。
xcode - UIviewcontrollerで迅速にラベルをクリック可能にする
クリックすると、ラベルをクリックしてサファリでURLを開くことができ、電話番号と電子メールアドレスを電子メールで開くことができます
私はこの機能を追加しましたが、機能しません:
ios - ストレートな UITableViewController の代わりに、UITableViewDelegate/UITableViewDataSource プロトコルで UIViewController クラスを使用するのはどのような場合ですか?
2つのSwiftプロジェクトの例をダウンロードしたばかりなので、質問します.1つはtodoリスト、もう1つは連絡先リストで、UIViewController
どちらUITableViewDelegate/UITableViewDataSource
もUITableViewController
. これら2つの練習の間に何か違いはありますか?
コードで:
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {...}
対。
class ViewController: UITableViewController {...}
ios - カスタムデリゲートが呼び出されていませんか?
実際、アプリで名前を付けた 3 つのビュー コントローラーがあります。私はAからBに、次にBからCにナビゲートしています。Aに実装されているCからデリゲートメソッドを呼び出しています。これが私のコードです
A.h
私A.m
が持っている
のB.h
のB.m
のC.h
のC.m
then<delegateName>
のA.h
代わりに入れると、 と表示されます。A.m
undeclared delegate