Why is UIScrollView leaving space on top and does

2019-01-09 03:14发布

I am new to objective-C programming.

I am using UIScrollView with some labels, image and text view on it.

I have turned off Autolayout and already tried with "Adjust scroll View Insets" on (situation described in title) and off (doesn't scroll).

This is what I insert into viewDidLoad:

    [scroller setScrollEnabled:YES];
[scroller setContentSize:CGSizeMake(320, 687)];

But I must be missing something very simple.

10条回答
贪生不怕死
2楼-- · 2019-01-09 03:41

Swift 3.0

self.automaticallyAdjustsScrollViewInsets = false

scrollView.contentInset = UIEdgeInsets.zero

scrollView.scrollIndicatorInsets = UIEdgeInsets.zero;    

scrollView.contentOffset = CGPoint(x: 0.0, y: 0.0);
查看更多
Emotional °昔
3楼-- · 2019-01-09 03:45

Swift 3.0

self.automaticallyAdjustsScrollViewInsets = false

scrollView.contentInset = UIEdgeInsets.zero

scrollView.scrollIndicatorInsets = UIEdgeInsets.zero;     
查看更多
倾城 Initia
4楼-- · 2019-01-09 03:48

Just select your view controller and set shown option to false (uncheck)

ViewController Inspector

查看更多
地球回转人心会变
5楼-- · 2019-01-09 03:48

On iPhoneX this will also occur due to some non-sense safe area stuff that auto-layout tried to account for. Fix (for iPhoneX) with this:

if (@available(iOS 11.0, *)) {
    scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
查看更多
成全新的幸福
6楼-- · 2019-01-09 03:53

Swift 3 (Auto Layout)

  1. Change "Layout Margins" to explicit
  2. Set margins to your needs

enter image description here

查看更多
啃猪蹄的小仙女
7楼-- · 2019-01-09 03:58

1... Why is UIScrollView leaving space on top

With Storyboard- Goto view controller > Attribute Inspector > Uncheck Adjust Scroll View Insets property

With Code- For extra space set viewController property automaticallyAdjustsScrollViewInsets to NO, by default it is YES.

self.automaticallyAdjustsScrollViewInsets = false; 
scroller.contentInset = UIEdgeInsetsZero;
scroller.scrollIndicatorInsets = UIEdgeInsetsZero;
scroller.contentOffset = CGPointMake(0.0, 0.0);

2... does not scroll to the bottom

To make it scroll try with large number in contentSize like CGSizeMake(320, 1687). If it works that means you are not setting the contentSize large enough to have all its content.

查看更多
登录 后发表回答