如何在静态单元格tableview中创建弹性自调整图像,如本教程所示? http://blog.matthewcheok.com/design-teardown-stretchy-headers/
但对于静态细胞而不是动态细胞。
编辑:
class ProfileViewController2: UITableViewController {
var profilePic = "WilsonLer"
private let kTableHeaderHeight: CGFloat = 189
var headerView: UIView!
@IBOutlet weak var topHeader: UITableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let user = FIRAuth.auth()?.currentUser
self.navigationItem.title = user!.email
headerView = topHeader
tableView.contentInset = UIEdgeInsets(top: kTableHeaderHeight, left: 0, bottom: 0, right: 0)
tableView.contentOffset = CGPoint(x: 0, y: -kTableHeaderHeight)
updateHeaderView()
// to set and display profile image
let profilePicImage = topHeader.viewWithTag(1) as! UIImageView
let profilePicBG = topHeader.viewWithTag(2) as! UIImageView
profilePicImage.image = UIImage(named: profilePic)
profilePicBG.image = UIImage(named: profilePic)
profilePicImage.layer.cornerRadius = profilePicImage.frame.height/2
profilePicImage.clipsToBounds = true
profilePicImage.layer.borderWidth = 1
profilePicImage.layer.borderColor = UIColor.whiteColor().CGColor
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func updateHeaderView() {
var headerRect = CGRect(x: 0, y: -kTableHeaderHeight, width: tableView.bounds.width, height: kTableHeaderHeight)
if tableView.contentOffset.y < -kTableHeaderHeight {
headerRect.origin.y = tableView.contentOffset.y
headerRect.size.height = -tableView.contentOffset.y
}
topHeader.frame = headerRect
}
override func scrollViewDidScroll(scrollView: UIScrollView) {
updateHeaderView()
}
}
我在链接中尝试了这种方法,但仍无济于事。试图为单元格创建一个子类,但它只适用于动态单元格。
这是我用非滚动标题得到的全部内容:
谢谢
答案 0 :(得分:1)
它的工作方式相同。图像是标题。它与动态或静态的细胞无关。如果您想测试它,只需添加1个空白静态单元格,UIImage
标题和&amp;添加标头的代码。它应该工作正常。
注意:对于静态单元格,您必须为每个单元格创建一个自定义类。
注意2:下次你提出这样的问题至少要付出一些努力来尝试自己。不要指望问一个问题&amp;人们去做你的工作。