scrollRectToVisible 在页面视图控制器中不起作用 - iPhone sdks

Posted

技术标签:

【中文标题】scrollRectToVisible 在页面视图控制器中不起作用 - iPhone sdks【英文标题】:scrollRectToVisible not working in page view controller - iPhone sdks 【发布时间】:2014-12-17 06:33:55 【问题描述】:

我正在使用 Xcode 6.1 并为 ios 8.0 开发。

在我的应用程序中,我有一个UIPageViewController。在那我添加了一个UIScrollView。在UIScrollView 我有 4 个按钮。当我点击一个按钮时,我会使用此代码。

long btnValue = sender.tag;
float spaceing = 0;
if(btnValue == 1)
    spaceing = self.scrollView.frame.size.width/4*btnValue;
else
    spaceing = (self.scrollView.frame.size.width/2*btnValue) - self.scrollView.frame.size.width/4;
CGRect frame;
frame.origin.x =  spaceing;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
[self.scrollView scrollRectToVisible:frame animated:YES];
self.scrollView.pagingEnabled = NO;

这(scrollRectToVisible:) 不起作用。谁能帮帮我?

谢谢。

【问题讨论】:

【参考方案1】:
long btnValue = sender.tag;
float spaceing = 0;
if(btnValue == 1)
    spaceing = self.scrollView.frame.size.width/4*btnValue;
else
    spaceing = (self.scrollView.frame.size.width/2*btnValue) - self.scrollView.frame.size.width/4;
CGRect frame;
frame.origin.x =  spaceing;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
[self.scrollView scrollRectToVisible:frame animated:YES];
self.scrollView.pagingEnabled = NO;

// 问题来了

frame.size = self.scrollView.frame.size;   //scrollView.frame.size matters

设置

frame.size = self.View.frame.size;

如果你是通过编码来完成的,那么请将你的滚动视图添加到你的视图中

[self.view addSubview:yourScrollView];

【讨论】:

以上是关于scrollRectToVisible 在页面视图控制器中不起作用 - iPhone sdks的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView ScrollRectToVisible - 不适用于 animate = yes

当我使用 contentInset 时,我不完全理解 scrollRectToVisible

scrollRectToVisible UITextField 不使用自动布局滚动

滚动 UICollectionView 到部分标题视图

以编程方式滚动底部的滚动视图 - iphone

UIScrollView 可以滚动,但不能来自用户交互