我想在Path Talk App上编写一个“设置”视图控制器的代码。这是一种视差效果。 Twitter也具有相同的效果。
http://imgur.com/GMIhQdt
http://imgur.com/RsYe0zQ
我从Storyboard开始,但是实际上并没有用:我使用TableViewController。在TableView内部,我有一个View,其中包含2张图片(背景图片和个人资料图片),然后是3 Table View部分。问题是,当用户向下拖动时,图片会下降。它与Path Talk应用程序不同,因为在Path Talk App中图像是固定的。当用户向下拖动时,它们不会向下移动(参见图片)。
因此,我在GitHub上找到了一个库:https://github.com/apping/APParallaxHeader,该库可以为我提供帮助,但是在花一天时间在该库上之前,听听您的建议会很好。使用情节提要轻松做到这一点还是图书馆是最佳解决方案?
谢谢你的帮助 !
最佳答案
从情节提要中的普通UIViewController
开始。向其中添加UITableView
和UIImageView
。 tableView的框架应该占据整个视图,imageView只是顶部的所需部分。
然后使您的viewController实现UITableViewDelegate
(如果要从中填充表,也可以实现UITableViewDataSource
)。在viewDidLoad
中,设置委托和contentInset以将图像视为标题:
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.delegate = self;
self.tableView.contentInset = UIEdgeInsetsMake(self.imageView.frame.size.height, 0, 0, 0);
self.tableView.dataSource = self;
}
实施
scrollViewDidScroll:
,因为UITableViewDelegate
符合UIScrollViewDelegate
协议,并根据滚动方向将图像移动到此处:- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat imageY = -scrollView.contentOffset.y-self.tableView.contentInset.top;
if(imageY>0)
imageY = 0;
self.imageView.frame = CGRectMake(0, imageY, self.view.bounds.size.width, self.imageView.bounds.size.height);
}
关于ios - 如何在Path Talk App上对设置 View Controller 进行编码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24587140/