UIScrollView -setContentInset 不起作用
Posted
技术标签:
【中文标题】UIScrollView -setContentInset 不起作用【英文标题】:UIScrollView -setContentInset not working 【发布时间】: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
【参考方案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;
【讨论】:
以上是关于UIScrollView -setContentInset 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView里面的UIScrollView:滚动
问题:UIScrollview 弹跳使父 UIScrollview 弹跳
UIScrollView 嵌入其他 UIScrollView