LoginSignup
1
2

More than 3 years have passed since last update.

UIScrollViewに要らない余白ができてしまうとき

Posted at

それほどハマったわけではないのですが、スクロールビューになんでか要らない余白ができてしまう現象に悩まされました。

高さを動的に変更しているのですが、スクロールの最後に余白ができてしまう。。。
どこかの高さをうまく取れていないのかなとか遅延処理を入れてみたり試行錯誤してもダメでした。

で、気付いたのが、動的に高さが動いているにも関わらず常に620だけ高さが余分。
どこかの設定がお節介をしているのかもしれません。

最初にやったのは

self.scrollView.translatesAutoresizingMaskIntoConstraints = true
self.scrollView.contentSize.height = CGFloat(hogeHeight)

こんな感じに高さを強引に設定しました。
しかし、やはり高さが変わるときは余分に620だけcontentSize.heightがズレてしまいます。。。

どのタイミングで余計な余白が付け足されているのかわかりませんでした。

なので次に試したのが

scrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0);

調べたところscrollViewにはcontentInsetという余白を設定するフィールドがあるらしく、倣ってやってみましたが変化なし。。。

scrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: -620, right: 0);

「無理やりすぎる。。。ガンジーでも助走つけて殴ってくるだろこれ」なんて思いながら試してみたらなんと予期していた挙動に。

余白が綺麗に消えました

なんだったんでしょうか

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2