mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Mark classes as final that can be marked as final.
This commit is contained in:
@@ -18,7 +18,7 @@ enum CloudKitAccountViewControllerError: LocalizedError {
|
||||
}
|
||||
}
|
||||
|
||||
class CloudKitAccountViewController: UITableViewController {
|
||||
final class CloudKitAccountViewController: UITableViewController {
|
||||
|
||||
weak var delegate: AddAccountDismissDelegate?
|
||||
@IBOutlet weak var footerLabel: UILabel!
|
||||
|
||||
@@ -12,7 +12,7 @@ import Secrets
|
||||
import RSWeb
|
||||
import SafariServices
|
||||
|
||||
class FeedbinAccountViewController: UITableViewController {
|
||||
final class FeedbinAccountViewController: UITableViewController {
|
||||
|
||||
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
|
||||
@IBOutlet weak var cancelBarButtonItem: UIBarButtonItem!
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
import Account
|
||||
|
||||
class LocalAccountViewController: UITableViewController {
|
||||
final class LocalAccountViewController: UITableViewController {
|
||||
|
||||
@IBOutlet weak var nameTextField: UITextField!
|
||||
@IBOutlet weak var footerLabel: UILabel!
|
||||
|
||||
@@ -12,7 +12,7 @@ import Secrets
|
||||
import RSWeb
|
||||
import SafariServices
|
||||
|
||||
class NewsBlurAccountViewController: UITableViewController {
|
||||
final class NewsBlurAccountViewController: UITableViewController {
|
||||
|
||||
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
|
||||
@IBOutlet weak var cancelBarButtonItem: UIBarButtonItem!
|
||||
|
||||
@@ -12,7 +12,7 @@ import Secrets
|
||||
import RSWeb
|
||||
import SafariServices
|
||||
|
||||
class ReaderAPIAccountViewController: UITableViewController {
|
||||
final class ReaderAPIAccountViewController: UITableViewController {
|
||||
|
||||
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
|
||||
@IBOutlet weak var cancelBarButtonItem: UIBarButtonItem!
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class AddComboTableViewCell: VibrantTableViewCell {
|
||||
final class AddComboTableViewCell: VibrantTableViewCell {
|
||||
|
||||
@IBOutlet weak var icon: UIImageView!
|
||||
@IBOutlet weak var label: UILabel!
|
||||
|
||||
@@ -14,7 +14,7 @@ protocol AddFeedFolderViewControllerDelegate: AnyObject {
|
||||
func didSelect(container: Container)
|
||||
}
|
||||
|
||||
class AddFeedFolderViewController: UITableViewController {
|
||||
final class AddFeedFolderViewController: UITableViewController {
|
||||
|
||||
weak var delegate: AddFeedFolderViewControllerDelegate?
|
||||
var initialContainer: Container?
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class AddFeedSelectFolderTableViewCell: VibrantTableViewCell {
|
||||
final class AddFeedSelectFolderTableViewCell: VibrantTableViewCell {
|
||||
|
||||
@IBOutlet weak var folderLabel: UILabel!
|
||||
@IBOutlet weak var detailLabel: UILabel!
|
||||
|
||||
@@ -12,7 +12,7 @@ import RSCore
|
||||
import RSTree
|
||||
import Parser
|
||||
|
||||
class AddFeedViewController: UITableViewController {
|
||||
final class AddFeedViewController: UITableViewController {
|
||||
|
||||
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
|
||||
@IBOutlet weak var addButton: UIBarButtonItem!
|
||||
|
||||
@@ -10,7 +10,7 @@ import UIKit
|
||||
import Account
|
||||
import RSCore
|
||||
|
||||
class AddFolderViewController: UITableViewController {
|
||||
final class AddFolderViewController: UITableViewController {
|
||||
|
||||
@IBOutlet private weak var addButton: UIBarButtonItem!
|
||||
@IBOutlet private weak var nameTextField: UITextField!
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class SelectComboTableViewCell: VibrantTableViewCell {
|
||||
final class SelectComboTableViewCell: VibrantTableViewCell {
|
||||
|
||||
@IBOutlet weak var icon: UIImageView!
|
||||
@IBOutlet weak var label: UILabel!
|
||||
|
||||
@@ -18,7 +18,7 @@ import WidgetKit
|
||||
var appDelegate: AppDelegate!
|
||||
|
||||
@UIApplicationMain
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, UnreadCountProvider {
|
||||
final class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, UnreadCountProvider {
|
||||
|
||||
private var bgTaskDispatchQueue = DispatchQueue.init(label: "BGTaskScheduler")
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ enum ArticleExtractorButtonState {
|
||||
case off
|
||||
}
|
||||
|
||||
class ArticleExtractorButton: UIButton {
|
||||
final class ArticleExtractorButton: UIButton {
|
||||
|
||||
private var animatedLayer: CALayer?
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import Account
|
||||
import Articles
|
||||
import SafariServices
|
||||
|
||||
class ArticleViewController: UIViewController {
|
||||
final class ArticleViewController: UIViewController {
|
||||
|
||||
struct State {
|
||||
let extractedArticle: ExtractedArticle?
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class FindInArticleActivity: UIActivity {
|
||||
final class FindInArticleActivity: UIActivity {
|
||||
override var activityTitle: String? {
|
||||
NSLocalizedString("Find in Article", comment: "Find in Article")
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class ImageTransition: NSObject, UIViewControllerAnimatedTransitioning {
|
||||
final class ImageTransition: NSObject, UIViewControllerAnimatedTransitioning {
|
||||
|
||||
private weak var webViewController: WebViewController?
|
||||
private let duration = 0.4
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class OpenInBrowserActivity: UIActivity {
|
||||
final class OpenInBrowserActivity: UIActivity {
|
||||
|
||||
private var activityItems: [Any]?
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import Foundation
|
||||
import WebKit
|
||||
|
||||
class WrapperScriptMessageHandler: NSObject, WKScriptMessageHandler {
|
||||
final class WrapperScriptMessageHandler: NSObject, WKScriptMessageHandler {
|
||||
|
||||
// We need to wrap a message handler to prevent a circlular reference
|
||||
private weak var handler: WKScriptMessageHandler?
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class ArticleActivityItemSource: NSObject, UIActivityItemSource {
|
||||
final class ArticleActivityItemSource: NSObject, UIActivityItemSource {
|
||||
|
||||
private let url: URL
|
||||
private let subject: String?
|
||||
|
||||
@@ -10,7 +10,7 @@ import UIKit
|
||||
import SafariServices
|
||||
import Account
|
||||
|
||||
class AccountInspectorViewController: UITableViewController {
|
||||
final class AccountInspectorViewController: UITableViewController {
|
||||
|
||||
static let preferredContentSizeForFormSheetDisplay = CGSize(width: 460.0, height: 400.0)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import Account
|
||||
import SafariServices
|
||||
import UserNotifications
|
||||
|
||||
class FeedInspectorViewController: UITableViewController {
|
||||
final class FeedInspectorViewController: UITableViewController {
|
||||
|
||||
static let preferredContentSizeForFormSheetDisplay = CGSize(width: 460.0, height: 500.0)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class InspectorIconHeaderView: UITableViewHeaderFooterView {
|
||||
final class InspectorIconHeaderView: UITableViewHeaderFooterView {
|
||||
|
||||
var iconView = IconView()
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import Intents
|
||||
|
||||
class IntentHandler: INExtension {
|
||||
final class IntentHandler: INExtension {
|
||||
|
||||
override func handler(for intent: INIntent) -> Any {
|
||||
switch intent {
|
||||
|
||||
@@ -15,7 +15,7 @@ enum KeyboardType: String {
|
||||
case detail = "DetailKeyboardShortcuts"
|
||||
}
|
||||
|
||||
class KeyboardManager {
|
||||
final class KeyboardManager {
|
||||
|
||||
private(set) var _keyCommands: [UIKeyCommand]
|
||||
var keyCommands: [UIKeyCommand] {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
class MainFeedRowIdentifier: NSObject, NSCopying {
|
||||
final class MainFeedRowIdentifier: NSObject, NSCopying {
|
||||
|
||||
var indexPath: IndexPath
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ protocol MainFeedTableViewCellDelegate: AnyObject {
|
||||
func mainFeedTableViewCellDisclosureDidToggle(_ sender: MainFeedTableViewCell, expanding: Bool)
|
||||
}
|
||||
|
||||
class MainFeedTableViewCell: VibrantTableViewCell {
|
||||
final class MainFeedTableViewCell: VibrantTableViewCell {
|
||||
|
||||
weak var delegate: MainFeedTableViewCellDelegate?
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ protocol MainFeedTableViewSectionHeaderDelegate: AnyObject {
|
||||
func mainFeedTableViewSectionHeaderDisclosureDidToggle(_ sender: MainFeedTableViewSectionHeader)
|
||||
}
|
||||
|
||||
class MainFeedTableViewSectionHeader: UITableViewHeaderFooterView {
|
||||
final class MainFeedTableViewSectionHeader: UITableViewHeaderFooterView {
|
||||
|
||||
weak var delegate: MainFeedTableViewSectionHeaderDelegate?
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import RSWeb
|
||||
import SafariServices
|
||||
import WebKit
|
||||
|
||||
class MainFeedViewController: UITableViewController, UndoableCommandRunner {
|
||||
final class MainFeedViewController: UITableViewController, UndoableCommandRunner {
|
||||
|
||||
@IBOutlet weak var filterButton: UIBarButtonItem!
|
||||
private var refreshProgressView: RefreshProgressView?
|
||||
@@ -126,11 +126,11 @@ class MainFeedViewController: UITableViewController, UndoableCommandRunner {
|
||||
}
|
||||
|
||||
var node: Node?
|
||||
if let coordinator = unreadCountProvider as? SceneCoordinator, let feed = coordinator.timelineFeed {
|
||||
node = coordinator.rootNode.descendantNodeRepresentingObject(feed as AnyObject)
|
||||
} else {
|
||||
// if let coordinator = unreadCountProvider as? SceneCoordinator, let feed = coordinator.timelineFeed {
|
||||
// node = coordinator.rootNode.descendantNodeRepresentingObject(feed as AnyObject)
|
||||
// } else {
|
||||
node = coordinator.rootNode.descendantNodeRepresentingObject(unreadCountProvider as AnyObject)
|
||||
}
|
||||
// }
|
||||
|
||||
guard let unreadCountNode = node, let indexPath = coordinator.indexPathFor(unreadCountNode) else { return }
|
||||
if let cell = tableView.cellForRow(at: indexPath) as? MainFeedTableViewCell {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
import Account
|
||||
|
||||
class RefreshProgressView: UIView {
|
||||
final class RefreshProgressView: UIView {
|
||||
|
||||
@IBOutlet weak var progressView: UIProgressView!
|
||||
@IBOutlet weak var label: UILabel!
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
import RSCore
|
||||
|
||||
class MainTimelineTableViewCell: VibrantTableViewCell {
|
||||
final class MainTimelineTableViewCell: VibrantTableViewCell {
|
||||
|
||||
private let titleView = MainTimelineTableViewCell.multiLineUILabel()
|
||||
private let summaryView = MainTimelineTableViewCell.multiLineUILabel()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class MainUnreadIndicatorView: UIView {
|
||||
final class MainUnreadIndicatorView: UIView {
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class MainTimelineDataSource<SectionIdentifierType, ItemIdentifierType>: UITableViewDiffableDataSource<SectionIdentifierType, ItemIdentifierType> where SectionIdentifierType: Hashable, ItemIdentifierType: Hashable {
|
||||
final class MainTimelineDataSource<SectionIdentifierType, ItemIdentifierType>: UITableViewDiffableDataSource<SectionIdentifierType, ItemIdentifierType> where SectionIdentifierType: Hashable, ItemIdentifierType: Hashable {
|
||||
|
||||
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
|
||||
return true
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class MainTimelineTitleView: UIView {
|
||||
final class MainTimelineTitleView: UIView {
|
||||
|
||||
@IBOutlet weak var iconView: IconView!
|
||||
@IBOutlet weak var label: UILabel!
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class MainTimelineUnreadCountView: MainFeedUnreadCountView {
|
||||
final class MainTimelineUnreadCountView: MainFeedUnreadCountView {
|
||||
|
||||
override var padding: UIEdgeInsets {
|
||||
return UIEdgeInsets(top: 2.0, left: 9.0, bottom: 2.0, right: 9.0)
|
||||
|
||||
@@ -13,7 +13,7 @@ import Account
|
||||
import Articles
|
||||
import WebKit
|
||||
|
||||
class TimelineViewController: UITableViewController, UndoableCommandRunner {
|
||||
final class TimelineViewController: UITableViewController, UndoableCommandRunner {
|
||||
|
||||
private var numberOfTextLines = 0
|
||||
private var iconSize = IconSize.medium
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
import Account
|
||||
|
||||
class RootSplitViewController: UISplitViewController {
|
||||
final class RootSplitViewController: UISplitViewController {
|
||||
|
||||
var coordinator: SceneCoordinator!
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ struct FeedNode: Hashable {
|
||||
}
|
||||
}
|
||||
|
||||
class SceneCoordinator: NSObject, UndoableCommandRunner {
|
||||
final class SceneCoordinator: NSObject, UndoableCommandRunner {
|
||||
|
||||
var undoableCommands = [UndoableCommand]()
|
||||
var undoManager: UndoManager? {
|
||||
|
||||
@@ -10,7 +10,7 @@ import UIKit
|
||||
import UserNotifications
|
||||
import Account
|
||||
|
||||
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
|
||||
final class SceneDelegate: UIResponder, UIWindowSceneDelegate {
|
||||
|
||||
var window: UIWindow?
|
||||
var coordinator: SceneCoordinator!
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class AboutViewController: UITableViewController {
|
||||
final class AboutViewController: UITableViewController {
|
||||
|
||||
@IBOutlet weak var aboutTextView: UITextView!
|
||||
@IBOutlet weak var creditsTextView: UITextView!
|
||||
|
||||
@@ -15,7 +15,7 @@ protocol AddAccountDismissDelegate: UIViewController {
|
||||
func dismiss()
|
||||
}
|
||||
|
||||
class AddAccountViewController: UITableViewController, AddAccountDismissDelegate {
|
||||
final class AddAccountViewController: UITableViewController, AddAccountDismissDelegate {
|
||||
|
||||
private enum AddAccountSections: Int, CaseIterable {
|
||||
case local = 0
|
||||
|
||||
@@ -14,7 +14,7 @@ extension UTType {
|
||||
static var netNewsWireTheme: UTType { UTType(importedAs: "com.ranchero.netnewswire.theme") }
|
||||
}
|
||||
|
||||
class ArticleThemesTableViewController: UITableViewController {
|
||||
final class ArticleThemesTableViewController: UITableViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
let importBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(importTheme(_:)))
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class ColorPaletteTableViewController: UITableViewController {
|
||||
final class ColorPaletteTableViewController: UITableViewController {
|
||||
|
||||
// MARK: - Table view data source
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class SettingsComboTableViewCell: VibrantTableViewCell {
|
||||
final class SettingsComboTableViewCell: VibrantTableViewCell {
|
||||
|
||||
@IBOutlet weak var comboImage: UIImageView!
|
||||
@IBOutlet weak var comboNameLabel: UILabel!
|
||||
|
||||
@@ -14,7 +14,7 @@ import SwiftUI
|
||||
import UniformTypeIdentifiers
|
||||
|
||||
// swiftlint:disable:next type_body_length
|
||||
class SettingsViewController: UITableViewController {
|
||||
final class SettingsViewController: UITableViewController {
|
||||
|
||||
private weak var opmlAccount: Account?
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class TimelineCustomizerViewController: UIViewController {
|
||||
final class TimelineCustomizerViewController: UIViewController {
|
||||
|
||||
@IBOutlet weak var iconSizeSliderContainerView: UIView!
|
||||
@IBOutlet weak var iconSizeSlider: TickMarkSlider!
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
import Articles
|
||||
|
||||
class TimelinePreviewTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
|
||||
final class TimelinePreviewTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
|
||||
|
||||
@IBOutlet weak var tableView: UITableView!
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class ShareFolderPickerCell: UITableViewCell {
|
||||
final class ShareFolderPickerCell: UITableViewCell {
|
||||
|
||||
@IBOutlet weak var icon: UIImageView!
|
||||
@IBOutlet weak var label: UILabel!
|
||||
|
||||
@@ -14,7 +14,7 @@ protocol ShareFolderPickerControllerDelegate: AnyObject {
|
||||
func shareFolderPickerDidSelect(_ container: ExtensionContainer)
|
||||
}
|
||||
|
||||
class ShareFolderPickerController: UITableViewController {
|
||||
final class ShareFolderPickerController: UITableViewController {
|
||||
|
||||
var containers: [ExtensionContainer]?
|
||||
var selectedContainerID: ContainerIdentifier?
|
||||
|
||||
@@ -14,7 +14,7 @@ import RSCore
|
||||
import RSTree
|
||||
import UniformTypeIdentifiers
|
||||
|
||||
class ShareViewController: SLComposeServiceViewController, ShareFolderPickerControllerDelegate {
|
||||
final class ShareViewController: SLComposeServiceViewController, ShareFolderPickerControllerDelegate {
|
||||
|
||||
private var url: URL?
|
||||
private var extensionContainers: ExtensionContainers?
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class TitleActivityItemSource: NSObject, UIActivityItemSource {
|
||||
final class TitleActivityItemSource: NSObject, UIActivityItemSource {
|
||||
|
||||
private let title: String?
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class CroppingPreviewParameters: UIPreviewParameters {
|
||||
final class CroppingPreviewParameters: UIPreviewParameters {
|
||||
|
||||
override init() {
|
||||
super.init()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class ImageHeaderView: UITableViewHeaderFooterView {
|
||||
final class ImageHeaderView: UITableViewHeaderFooterView {
|
||||
|
||||
static let rowHeight = CGFloat(integerLiteral: 88)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
|
||||
@IBDesignable
|
||||
class InteractiveLabel: UILabel, UIEditMenuInteractionDelegate {
|
||||
final class InteractiveLabel: UILabel, UIEditMenuInteractionDelegate {
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class InteractiveNavigationController: UINavigationController {
|
||||
final class InteractiveNavigationController: UINavigationController {
|
||||
|
||||
private let poppableDelegate = PoppableGestureRecognizerDelegate()
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class ModalNavigationController: UINavigationController {
|
||||
final class ModalNavigationController: UINavigationController {
|
||||
|
||||
override func viewDidLayoutSubviews() {
|
||||
super.viewDidLayoutSubviews()
|
||||
|
||||
@@ -10,7 +10,7 @@ import Foundation
|
||||
|
||||
import UIKit
|
||||
|
||||
class NonIntrinsicButton: UIButton {
|
||||
final class NonIntrinsicButton: UIButton {
|
||||
|
||||
// Prevent autolayout from messing around with our frame settings
|
||||
override var intrinsicContentSize: CGSize {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class NonIntrinsicImageView: UIImageView {
|
||||
final class NonIntrinsicImageView: UIImageView {
|
||||
|
||||
// Prevent autolayout from messing around with our frame settings
|
||||
override var intrinsicContentSize: CGSize {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class NonIntrinsicLabel: UILabel {
|
||||
final class NonIntrinsicLabel: UILabel {
|
||||
|
||||
// Prevent autolayout from messing around with our frame settings
|
||||
override var intrinsicContentSize: CGSize {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class RoundedProgressView: UIProgressView {
|
||||
final class RoundedProgressView: UIProgressView {
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class TickMarkSlider: UISlider {
|
||||
final class TickMarkSlider: UISlider {
|
||||
|
||||
private var enableFeedback = false
|
||||
private let feedbackGenerator = UISelectionFeedbackGenerator()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class VibrantButton: UIButton {
|
||||
final class VibrantButton: UIButton {
|
||||
|
||||
@IBInspectable var backgroundHighlightColor: UIColor = AppAssets.secondaryAccentColor
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class VibrantLabel: UILabel {
|
||||
final class VibrantLabel: UILabel {
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
|
||||
@@ -70,7 +70,7 @@ class VibrantTableViewCell: UITableViewCell {
|
||||
|
||||
}
|
||||
|
||||
class VibrantBasicTableViewCell: VibrantTableViewCell {
|
||||
final class VibrantBasicTableViewCell: VibrantTableViewCell {
|
||||
|
||||
@IBOutlet private var label: UILabel!
|
||||
@IBOutlet private var detail: UILabel!
|
||||
|
||||
Reference in New Issue
Block a user