問題タブ [uiedgeinsets]

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 投票する
5 に答える
9575 参照

ios - UIScrollView の境界はコンテンツ インセットで自動的に変更されます

ページング スクロール ビューとして UIScrollView を使用していますpagesScrollView。その中に、ズーム専用の個別の UIScrollView を配置します。それらのそれぞれの中に、ズーム可能なページアイテムであるビューが1つあります。これらはすべて、半透明の navbar を持つ UINavigationController 内にあります。

pagesScrollViewにはcontentInset.top = 64bounds.origin.y = -64(それは私には奇妙に思えますが、システムが自動的に設定しているものです) があり、これは問題なく動作します。私の画面は素晴らしいですね!

pagesScrollViewただし、少しでもスクロールした後、scrollViewWillEndDraggingが呼び出されるとすぐに からへpagesScrollViewのアニメーションの変化が開始され、ページ アイテムがナビゲーション バーによって隠されます。bounds.origin.y = -64bounds.origin.y = 0

左側は読み込み時の様子、右側は数ピクセルドラッグして放した後の様子です。ナビゲーションバーの下にスライドします (bounds.origin.y が 0 になるため)。 .

ここに画像の説明を入力

問題は、境界を変更するコードがなく、さまざまなスクロール デリゲート メソッドに何かを行うコードがないことです。一連のスクロール デリゲート メソッドを追加し、NSLog() を追加したので、いつ/どこで変更が発生したかを把握できますが、コードのどこにも発生していません。

だから、あなたが私を助けるのを助けるために私があなたに示すことができるコードがわかりません。

編集:他のすべての変数を削除するために、新しいプロジェクトをゼロから構築しました..裸の UIViewController を UINavigationController に入れました。ビュー全体のサイズの UIScrollView をビューに入れました。次のコードはプロジェクト全体です。

UIScrollView でページングが有効になっている場合にのみ、問題 (以下で説明) が発生することが判明しました。え?:)

これは、問題を示す数行のコードのみを含む基本的なプロジェクトをダウンロードするためのリンクです。スクロールビューをクリックするだけで、境界が変化するにつれて上にシフトするのがわかります。http://inadaydevelopment.com/stackoverflow/WeirdScrollViews.zip

スクロール中に境界がおかしくなり、ナビゲーションバーの下にあるすべてのものを移動することなく、スクロールビューでページングを有効にするにはどうすればよいですか?

ナビゲーション バーを不透明に設定することは可能であり、問​​題は回避されますが、コンテンツ ビューがズームされた後、コンテンツがナビゲーション バーの下にあることが許可され、通常は半透明で表示されるように、標準の iOS7 の動作を行うことが理想的です。

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

ios - カスタムUITextFieldクリアボタンを移動しようとしていますが、サイズが正しくないか、正しく移動しません

したがって、汎用 UITextField 用のカスタム clearButton があります。uitextfield の背景の右側にいくつかのデザインがあるため、clearButton を移動しようとしています。クリア ボタンを約 150 ピクセル以上押す必要があります。

私はこれのすべての組み合わせを試しましたが、最終的にクリアボタンを画面から押し出すか、クリアボタンを非常に広くして、uitextfield のテキストが短くなるのを防ぎます。

1回目

2回目の試行

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

ios - UIScrollView の contentInset が機能しない

キーボードが表示されたら、コンテンツを上に移動しようとしています。簡易ログインフォームの内容です。

ここに画像の説明を入力 ここに画像の説明を入力

これらは s ではないことに注意してくださいUITextFieldUITableViewの真ん中にある小さなものUIViewControllerです。そして、UIScrollViewそのテーブルビューを埋め込むビューコントローラーを埋めています。

キーボード通知に登録しましUIKeyboardDidShowNotificationUIKeyboardWillHideNotification

そして、キーボードが表示されたときに起動するメソッドで、スクロールビューの設定に使用されるの値を設定して、ほぼ同じことを行うこの回答のバリエーションを実装しました。bottomUIEdgeInsetscontentInset

問題は、それが何もしないことです。キーボードの高さを取得できましたが、何も変わりません。なぜ、これを修正するために何をすべきか教えてもらえますか?

ありがとうございました。

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

uitableview - これら 2 つの UITableViewCellSeparators の UIEdgeInset を削除または変更するにはどうすればよいですか?

私はこの UITableViewController を持っており、セパレーターのエッジ インセットを変更したいと考えていました。セル間のものを変更することはできましたが、下の画像に表示されている 2 つの行は変更されていません。

一番上の行はセクション ヘッダー ビューのすぐ下の行で、もう 1 つは (おそらく) セクション フッター ビューのすぐ上の行ですが、後者は追加も変更もしていません。

よろしくお願いしますここに画像の説明を入力

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

ios - iOS7でテーブルビューをスクロールすると、UITableViewセパレータインセットがデフォルトに変更される

右側にセパレータ インセットを設定しようとしました。プロジェクトの最初の実行時およびテーブルビューをスクロールする前は、すべてがスムーズに表示されます。ただし、スクロールが 1 回発生するとすぐに、各セクションの最後の行のセパレータ インセットのサイズが変更され、全幅になります。使用されるコードは次のとおりですviewDidLoad

内部cellForRowAtIndexPath:

他のほとんどすべてのデリゲート/データソース メソッドに同じコードを入れてみましUITableViewたが、役に立ちませんでした。

テーブルのヘッダービューでインセットを行うために、UILabelフレーム幅を制限して上下に2 つ追加しましたviewForHeaderInSection(ヘッダーの高さは 40):

スクロール前後の画像を載せました。

スクロール前: ここに画像の説明を入力

スクロール後: ここに画像の説明を入力

この点で何か助けていただければ幸いです。スクロールした後でも、テーブルを最初の写真のように見せる必要があります。つまり、何があっても右側のエッジインセットを保持する必要があります。前もって感謝します。