// // NCMainRefreshControl.swift // Nextcloud // // Created by Marino Faggiana on 20/01/2020. // Copyright (c) 2020 Marino Faggiana. All rights reserved. // // Author Marino Faggiana // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // import Foundation class NCMainRefreshControl: UIRefreshControl { override func layoutSubviews() { super.layoutSubviews() let originalFrame = frame frame = originalFrame } override var isHidden: Bool { get { return super.isHidden } set(hiding) { if hiding { guard frame.origin.y >= 0 else { return } super.isHidden = hiding } else { guard frame.origin.y < 0 else { return } super.isHidden = hiding } } } override var frame: CGRect { didSet { if frame.origin.y < 0 { isHidden = false } else { isHidden = true } } } }