【问题标题】:UIScrollView -setContentInset not workingUIScrollView -setContentInset 不起作用
【发布时间】:2014-09-07 20:52:42
【问题描述】:

我有一个相当简单的滚动视图设置,我想摆脱 contentInset。

MyViewController.h

@interface MyViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@end

MyViewController.m

@interface MyViewController

-(void)viewDidLoad
{
    [super viewDidLoad];

    [self.scrollView setContentInset:UIEdgeInsetsZero];
    ...
}

在我的故事板中,我的滚动视图从导航栏的底部开始。不幸的是,我在运行应用程序时得到以下结果。似乎 contentInset 仍然非常活跃。我已将 scrollView 背景设为绿色。

编辑:只提供故事板的图片和出口链接

【问题讨论】:

  • 仍然在为此苦苦挣扎 - 可以碰撞吗?
  • 尝试在- (void)viewWillLayoutSubviews中添加[self.scrollView setContentInset:UIEdgeInsetsZero];
  • 或 viewDidAppear:animated
  • self.edgesForExtendedLayout = UIRectEdgeNone; 相关吗?
  • 有效!谢谢@KudoCC

标签: ios uiscrollview


【解决方案1】:

好的,代码如下

[self.myScrollViewOutlet setContentInset:UIEdgeInsetsZero];

只有在放置在-(void)viewWillLayoutSubviews时才起作用。

它在-(void)viewDidLoad-(void)viewWillAppear:(BOOL)animated-(void)viewDidAppear:(BOOL)animated不起作用

希望对未来的人们有所帮助!

【讨论】:

    【解决方案2】:

    斯威夫特 3

    在您的 UIViewController 中,其中包含您的 WebView,令人惊讶地命名为例如 webView。

    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews();
    
        webView.scrollView.contentInset = UIEdgeInsets.zero;
    }
    

    【讨论】:

      猜你喜欢
      • 2013-03-09
      • 2014-02-04
      • 2013-12-30
      • 2012-10-02
      • 1970-01-01
      • 2013-10-04
      相关资源
      最近更新 更多