質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

1回答

857閲覧

iOS13 UIScrollView上のUITextFieldに入力するとスクロールがずれる

infts

総合スコア22

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

1クリップ

投稿2019/09/30 05:01

前提・実現したいこと

Xamarin.iOSプロジェクトでiOSアプリの開発を行っております。

UIScrollView上のUITextField入力時、
ソフトウェアキーボードを表示すると、UITextFieldがキーボードで隠れてしまうため、
コードでキーボードのサイズを取得して、
キーボードの分だけContentOffsetプロパティで調整を行っています。
UIScrollView.ContentOffset = new CGPoint(0, offset);
上記のコードでキーボードの上にUITextFieldが表示されるようにしています。

iOS12.4までは、特に問題なかったのですが、
iOS13では、キーボードを表示した時点では、キーボードの上にUITextFieldが表示されるのですが、キーボードで文字を入力すると、スクロールしてUITextFieldが下にずれてキーボードで隠れてしまうようになりました。
入力してもUITextFieldが下にずれないようにするにはどうしたらよいでしょうか?

なお、文字を入力した後に一度キーボードを非表示にして、再度キーボードを表示して入力した場合は下にずれないので、UITextFieldのTextが空の状態と文字が入っている状態で動作が異なっております。

解決策やヒントになる情報をご教授いただければ幸いです。
よろしくお願いいたします。

開発環境

Windows 10 1903
Visual Studio 2019 16.3.1
Xamarin.iOS and Xamarin.Mac SDK 13.2.0.42
Mac OS Mojave 10.14.6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

未入力から入力の時textfield の高さが変えた、そして画面の再layoutが発生して最初の状態に戻りました。一旦文字が有れば、高さは変更しない。textfieldの高さを固定すれば良いです。

投稿2019/11/18 10:02

ZhijieFeng

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

infts

2019/11/21 04:05

回答いただありがとうございます。 未入力から入力した場合でも見た目上の高さは特に変わってはおりませんが、内部的にはTextfieldの高さのプロパティが入力時に変わっているということでしょうか?
ZhijieFeng

2019/11/21 07:18

未入力と入力のview hierarchyを見れば分かるはずです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問