如何在特定位置将视图添加到 ScrollView?
Posted
技术标签:
【中文标题】如何在特定位置将视图添加到 ScrollView?【英文标题】:How to add a View to a ScrollView at a specific position? 【发布时间】:2015-11-01 11:03:01 【问题描述】:我有一个矩形大小为 (414,736) 的 UIView
。我做了一个比UIView
宽50 高50 的ScrollView
。当我将UIView
添加到ScrollView
时,UIView
保持水平状态OK,但在垂直方向上它位于ScrollView
的底部。所以我的滚动部分是顶部。但我希望UIView
留在顶部,底部成为滚动区域。
如何在ScrollView
上找到具有特定位置的UIView
?
下面的代码展示了 ScrollView 是如何实现的。
CGRect screenRect = [[UIScreen mainScreen] bounds];
self.scrollView=[[UIScrollView alloc] initWithFrame:screenRect];
self.scrollView.delegate = self;
self.scrollView.clipsToBounds = YES;
[self.scrollView addSubview:self.drawChart];
self.scrollView.contentSize=CGSizeMake(screenRect.size.width+100,screenRect.size.height+50);
self.scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
self.scrollView.backgroundColor = [UIColor colorWithRed:0.564 green:0.439 blue:0.561 alpha:1];
self.view=self.scrollView;
编辑:
- (void)viewDidLoad
[super viewDidLoad];
CGRect screenRect = [[UIScreen mainScreen] bounds];
//Database
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
// Build the path to the database file
databasePath = [[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent: @"RECORDS.db"]];
//scroll view
//
self.scrollView=[[UIScrollView alloc] initWithFrame:screenRect];
self.scrollView.delegate = self;
self.scrollView.clipsToBounds = YES;
[self.scrollView addSubview:self.drawChart];
CGRect frame = self.drawChart.frame;
frame.origin = CGPointZero;
self.drawChart.frame = frame;
self.scrollView.contentSize=CGSizeMake(screenRect.size.width+100,screenRect.size.height+50);
self.scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
self.scrollView.backgroundColor = [UIColor colorWithRed:0.564 green:0.439 blue:0.561 alpha:1];
self.view=self.scrollView;
谢谢
【问题讨论】:
【参考方案1】:将图表视图添加到滚动视图后
[self.scrollView addSubview:self.drawChart];
执行以下操作:
CGRect frame = self.drawChart.frame;
frame.origin = CGPointZero;
self.drawChart.frame = frame;
【讨论】:
不,它不起作用。 self.drawChart.frame 有 (0,0) 原点,即使我没有实现它。 50 ,这是我为 ScrollView 添加的大小,使其大于 UIView。 您能以某种方式分享您的视图控制器中的代码吗? 让我们continue this discussion in chat。 是的,你说的是对的。只是我在drawchart中有一个错误,会造成一些偏移。以上是关于如何在特定位置将视图添加到 ScrollView?的主要内容,如果未能解决你的问题,请参考以下文章
如何滚动到scrollview内recyclerview中的特定位置?
加载数据源后,如何将 HTML 元素添加到 kendo ui 的列表视图中的特定位置?
如何将imageView添加到collectionViewCell中的scrollView