TextureGroup / Texture

Smooth asynchronous user interfaces for iOS apps.
https://texturegroup.org/
Other
8k stars 1.29k forks source link

ASTableNode: Reverse also reverse the header's text #1929

Open MaxenceLeroy opened 3 years ago

MaxenceLeroy commented 3 years ago

When I use a table node and I revert it, the header has its characters reversed too.

image

import AsyncDisplayKit

class ChatNode: ASDisplayNode {
    let chatTableNode = ASTableNode()

    let tableHeaderHeight = CGFloat(50)

    override init() {
        super.init()
        automaticallyManagesSubnodes = true

        chatTableNode.delegate = self
        chatTableNode.dataSource = self
        chatTableNode.inverted = true
    }

extension ChatNode: ASTableDataSource, ASTableDelegate {
    func tableView(_: UITableView, heightForHeaderInSection _: Int) -> CGFloat {
        tableHeaderHeight
    }

    func tableView(_ tableView: UITableView, viewForHeaderInSection _: Int) -> UIView? {
        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.width, height: tableHeaderHeight))
        let label = UILabel()
        label.frame = CGRect(
            x: 16,
            y: 16,
            width: headerView.frame.width - 16,
            height: headerView.bounds.height - 16
        )
        label.text = "Header"

        headerView.addSubview(label)

        return headerView
    }
samvyatkin commented 3 years ago

As possible way to fix it you can transform headerView like this headerView.transform = CGAffineTransform(scaleX: 1.0, y: -1.0)