我想在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开始。向其中添加UITableViewUIImageView。 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/

10-11 14:52