【问题标题】:Does UIScrollView only work on a view controller that is embedded in a Navigation Control?UIScrollView 是否仅适用于嵌入在导航控件中的视图控制器?
【发布时间】:2013-07-12 17:21:06
【问题描述】:

UIScrollView 是否仅适用于嵌入在导航控件中的视图控制器?我问的原因是因为我有一个 UIViewController,它有一个 UISCrollView 来显示超出视图的所有内容。这个 ViewController 是从 TableViewController 中的 push segue 中显示的,它嵌入到 Navigation Controller 中。

在我尝试将 push segue 更改为模态序列之前,一切正常,从而将视图从嵌入到导航控制器中移除。

所有内容都可以正常加载,但不会滚动。我添加了一个插座并尝试以编程方式设置 contentSize 和 scrollEnabled 属性,但仍然没有。它不会再滚动了,我无法弄清楚。我一直在网上搜索,但找不到答案。

出口:

@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

实施:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.scrollView.contentSize  = CGSizeMake(320, 900);
    self.scrollView.scrollEnabled = YES;
}

【问题讨论】:

  • 尝试暂时将其设置回 push segue 以确保没有其他问题,并验证这是唯一的更改。
  • 你知道它在 Push segue 中也不起作用。我以为是,但显然它只是滚动导航栏占用的额外空间。

标签: ios ios6 uiscrollview uinavigationcontroller segue


【解决方案1】:

有许多帖子表明在 viewDidLoad 中设置滚动视图的 contentSize 存在问题。尝试将其移动到 viewDidAppear。

【讨论】:

  • 它在 push segue 之后肯定可以工作,但在模态 segue 之后仍然无法工作。我想我现在只使用 push segue。
【解决方案2】:

我必须将 UIScrollView 放在另一个空的 UIView 中才能使其工作。

- (void)viewDidLoad
{
    [super viewDidLoad];
}

-(void)viewDidAppear:(BOOL)animated
{
    self.scrollView.contentSize  = CGSizeMake(320, 900);
    self.scrollView.scrollEnabled = YES;
}

【讨论】:

  • another empty UIView in order to get it to work 这是我的钥匙,谢谢
猜你喜欢
  • 2020-12-08
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 2015-01-23
  • 2018-11-09
  • 2019-06-01
  • 1970-01-01
相关资源
最近更新 更多