From bbdd6926d64cf840e644105662fb2bdd54cb63cf Mon Sep 17 00:00:00 2001 From: sunxiaojian Date: Thu, 11 Mar 2021 17:24:00 +0800 Subject: [PATCH] chore: rename MosaicView to MosaicBlurView --- Mastodon.xcodeproj/project.pbxproj | 8 +++--- .../Diffiable/Section/StatusSection.swift | 10 +++---- ...Provider+StatusTableViewCellDelegate.swift | 10 ++++--- ...{MosaicView.swift => MosaicBlurView.swift} | 26 +++++++++---------- .../View/Container/MosaicPlayerView.swift | 16 ++++++------ .../TableviewCell/StatusTableViewCell.swift | 2 +- 6 files changed, 37 insertions(+), 35 deletions(-) rename Mastodon/Scene/Share/View/Container/{MosaicView.swift => MosaicBlurView.swift} (84%) diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index 84aade87..5524314b 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -60,7 +60,7 @@ 2D61335E25C1894B00CAE157 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D61335D25C1894B00CAE157 /* APIService.swift */; }; 2D61336925C18A4F00CAE157 /* AlamofireNetworkActivityIndicator in Frameworks */ = {isa = PBXBuildFile; productRef = 2D61336825C18A4F00CAE157 /* AlamofireNetworkActivityIndicator */; }; 2D650FAB25ECDC9300851B58 /* Mastodon+Entity+Error+Detail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D650FAA25ECDC9300851B58 /* Mastodon+Entity+Error+Detail.swift */; }; - 2D694A7425F9EB4E0038ADDC /* MosaicView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D694A7325F9EB4E0038ADDC /* MosaicView.swift */; }; + 2D694A7425F9EB4E0038ADDC /* MosaicBlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D694A7325F9EB4E0038ADDC /* MosaicBlurView.swift */; }; 2D69CFF425CA9E2200C3A1B2 /* LoadMoreConfigurableTableViewContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D69CFF325CA9E2200C3A1B2 /* LoadMoreConfigurableTableViewContainer.swift */; }; 2D69D00A25CAA00300C3A1B2 /* APIService+CoreData+Toot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D69D00925CAA00300C3A1B2 /* APIService+CoreData+Toot.swift */; }; 2D76316525C14BD100929FB9 /* PublicTimelineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D76316425C14BD100929FB9 /* PublicTimelineViewController.swift */; }; @@ -302,7 +302,7 @@ 2D61335725C188A000CAE157 /* APIService+Persist+Timeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "APIService+Persist+Timeline.swift"; sourceTree = ""; }; 2D61335D25C1894B00CAE157 /* APIService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIService.swift; sourceTree = ""; }; 2D650FAA25ECDC9300851B58 /* Mastodon+Entity+Error+Detail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Mastodon+Entity+Error+Detail.swift"; sourceTree = ""; }; - 2D694A7325F9EB4E0038ADDC /* MosaicView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MosaicView.swift; sourceTree = ""; }; + 2D694A7325F9EB4E0038ADDC /* MosaicBlurView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MosaicBlurView.swift; sourceTree = ""; }; 2D69CFF325CA9E2200C3A1B2 /* LoadMoreConfigurableTableViewContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadMoreConfigurableTableViewContainer.swift; sourceTree = ""; }; 2D69D00925CAA00300C3A1B2 /* APIService+CoreData+Toot.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "APIService+CoreData+Toot.swift"; sourceTree = ""; }; 2D76316425C14BD100929FB9 /* PublicTimelineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicTimelineViewController.swift; sourceTree = ""; }; @@ -1179,7 +1179,7 @@ isa = PBXGroup; children = ( DB9D6C0D25E4F9780051B173 /* MosaicImageViewContainer.swift */, - 2D694A7325F9EB4E0038ADDC /* MosaicView.swift */, + 2D694A7325F9EB4E0038ADDC /* MosaicBlurView.swift */, 2D206B7125F5D27F00143C56 /* AudioContainerView.swift */, 5DF1057825F88A1D00D6C0D4 /* MosaicPlayerView.swift */, 5DF1057E25F88A4100D6C0D4 /* TouchBlockingView.swift */, @@ -1635,7 +1635,7 @@ 2D45E5BF25C9549700A6D639 /* PublicTimelineViewModel+State.swift in Sources */, DB8AF55D25C138B7002E6C99 /* UIViewController.swift in Sources */, 2D3F9E0425DFA133004262D9 /* UITapGestureRecognizer.swift in Sources */, - 2D694A7425F9EB4E0038ADDC /* MosaicView.swift in Sources */, + 2D694A7425F9EB4E0038ADDC /* MosaicBlurView.swift in Sources */, DB4481CC25EE2AFE00BEFB67 /* PollItem.swift in Sources */, DB4563BD25E11A24004DA0B9 /* KeyboardResponderService.swift in Sources */, DB5086BE25CC0D9900C2C187 /* SplashPreference.swift in Sources */, diff --git a/Mastodon/Diffiable/Section/StatusSection.swift b/Mastodon/Diffiable/Section/StatusSection.swift index 53a2207a..31ea87cd 100644 --- a/Mastodon/Diffiable/Section/StatusSection.swift +++ b/Mastodon/Diffiable/Section/StatusSection.swift @@ -193,13 +193,13 @@ extension StatusSection { return CGSize(width: maxWidth, height: maxWidth * scale) }() - cell.statusView.mosaicPlayerView.mosaicView.blurVisualEffectView.effect = isStatusSensitive ? MosaicImageViewContainer.blurVisualEffect : nil - cell.statusView.mosaicPlayerView.mosaicView.vibrancyVisualEffectView.alpha = isStatusSensitive ? 1.0 : 0.0 - cell.statusView.mosaicPlayerView.mosaicView.isUserInteractionEnabled = isStatusSensitive - cell.statusView.mosaicPlayerView.mosaicView.mosaicButton.publisher(for: .touchUpInside) + cell.statusView.mosaicPlayerView.mosaicBlurView.blurVisualEffectView.effect = isStatusSensitive ? MosaicImageViewContainer.blurVisualEffect : nil + cell.statusView.mosaicPlayerView.mosaicBlurView.vibrancyVisualEffectView.alpha = isStatusSensitive ? 1.0 : 0.0 + cell.statusView.mosaicPlayerView.mosaicBlurView.isUserInteractionEnabled = isStatusSensitive + cell.statusView.mosaicPlayerView.mosaicBlurView.tapButton.publisher(for: .touchUpInside) .sink { [weak cell] _ in guard let cell = cell else { return } - cell.delegate?.statusTableViewCell(cell, mosaicView: cell.statusView.mosaicPlayerView.mosaicView, didTapContentWarningVisualEffectView: cell.statusView.mosaicPlayerView.mosaicView.blurVisualEffectView) + cell.delegate?.statusTableViewCell(cell, mosaicBlurView: cell.statusView.mosaicPlayerView.mosaicBlurView, didTapContentWarningVisualEffectView: cell.statusView.mosaicPlayerView.mosaicBlurView.blurVisualEffectView) } .store(in: &cell.disposeBag) diff --git a/Mastodon/Protocol/StatusProvider/StatusProvider+StatusTableViewCellDelegate.swift b/Mastodon/Protocol/StatusProvider/StatusProvider+StatusTableViewCellDelegate.swift index 9e2797f2..67753e88 100644 --- a/Mastodon/Protocol/StatusProvider/StatusProvider+StatusTableViewCellDelegate.swift +++ b/Mastodon/Protocol/StatusProvider/StatusProvider+StatusTableViewCellDelegate.swift @@ -45,7 +45,8 @@ extension StatusTableViewCellDelegate where Self: StatusProvider { func statusTableViewCell(_ cell: StatusTableViewCell, mosaicImageViewContainer: MosaicImageViewContainer, didTapImageView imageView: UIImageView, atIndex index: Int) { } - func statusTableViewCell(_ cell: StatusTableViewCell, mosaicView: MosaicView, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) { + + func statusTableViewCell(_ cell: StatusTableViewCell, mosaicBlurView: MosaicBlurView, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) { guard let diffableDataSource = self.tableViewDiffableDataSource else { return } guard let item = item(for: cell, indexPath: nil) else { return } @@ -57,16 +58,17 @@ extension StatusTableViewCellDelegate where Self: StatusProvider { default: return } - mosaicView.isUserInteractionEnabled = false + mosaicBlurView.isUserInteractionEnabled = false var snapshot = diffableDataSource.snapshot() snapshot.reloadItems([item]) UIView.animate(withDuration: 0.33) { - mosaicView.blurVisualEffectView.effect = nil - mosaicView.vibrancyVisualEffectView.alpha = 0.0 + mosaicBlurView.blurVisualEffectView.effect = nil + mosaicBlurView.vibrancyVisualEffectView.alpha = 0.0 } completion: { _ in diffableDataSource.apply(snapshot, animatingDifferences: false, completion: nil) } } + func statusTableViewCell(_ cell: StatusTableViewCell, mosaicImageViewContainer: MosaicImageViewContainer, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) { guard let diffableDataSource = self.tableViewDiffableDataSource else { return } guard let item = item(for: cell, indexPath: nil) else { return } diff --git a/Mastodon/Scene/Share/View/Container/MosaicView.swift b/Mastodon/Scene/Share/View/Container/MosaicBlurView.swift similarity index 84% rename from Mastodon/Scene/Share/View/Container/MosaicView.swift rename to Mastodon/Scene/Share/View/Container/MosaicBlurView.swift index 82049dbb..72f03ab6 100644 --- a/Mastodon/Scene/Share/View/Container/MosaicView.swift +++ b/Mastodon/Scene/Share/View/Container/MosaicBlurView.swift @@ -8,13 +8,13 @@ import Foundation import UIKit -class MosaicView: UIView { +class MosaicBlurView: UIView { static let cornerRadius: CGFloat = 4 static let blurVisualEffect = UIBlurEffect(style: .systemUltraThinMaterial) - let blurVisualEffectView = UIVisualEffectView(effect: MosaicView.blurVisualEffect) - let vibrancyVisualEffectView = UIVisualEffectView(effect: UIVibrancyEffect(blurEffect: MosaicView.blurVisualEffect)) + let blurVisualEffectView = UIVisualEffectView(effect: MosaicBlurView.blurVisualEffect) + let vibrancyVisualEffectView = UIVisualEffectView(effect: UIVibrancyEffect(blurEffect: MosaicBlurView.blurVisualEffect)) - let mosaicButton: UIButton = { + let tapButton: UIButton = { let button = UIButton(type: .custom) button.backgroundColor = .clear button.translatesAutoresizingMaskIntoConstraints = false @@ -40,14 +40,14 @@ class MosaicView: UIView { } } -extension MosaicView { +extension MosaicBlurView { private func _init() { backgroundColor = .clear translatesAutoresizingMaskIntoConstraints = false // add blur visual effect view in the setup method blurVisualEffectView.layer.masksToBounds = true - blurVisualEffectView.layer.cornerRadius = MosaicView.cornerRadius + blurVisualEffectView.layer.cornerRadius = MosaicBlurView.cornerRadius blurVisualEffectView.layer.cornerCurve = .continuous vibrancyVisualEffectView.translatesAutoresizingMaskIntoConstraints = false @@ -66,7 +66,7 @@ extension MosaicView { contentWarningLabel.trailingAnchor.constraint(equalTo: vibrancyVisualEffectView.contentView.layoutMarginsGuide.trailingAnchor), contentWarningLabel.centerYAnchor.constraint(equalTo: vibrancyVisualEffectView.contentView.centerYAnchor), ]) - + blurVisualEffectView.translatesAutoresizingMaskIntoConstraints = false addSubview(blurVisualEffectView) NSLayoutConstraint.activate([ @@ -75,13 +75,13 @@ extension MosaicView { blurVisualEffectView.trailingAnchor.constraint(equalTo: trailingAnchor), blurVisualEffectView.bottomAnchor.constraint(equalTo: bottomAnchor), ]) - - addSubview(mosaicButton) + + addSubview(tapButton) NSLayoutConstraint.activate([ - mosaicButton.topAnchor.constraint(equalTo: topAnchor), - mosaicButton.trailingAnchor.constraint(equalTo: trailingAnchor), - mosaicButton.bottomAnchor.constraint(equalTo: bottomAnchor), - mosaicButton.leadingAnchor.constraint(equalTo: leadingAnchor), + tapButton.topAnchor.constraint(equalTo: topAnchor), + tapButton.trailingAnchor.constraint(equalTo: trailingAnchor), + tapButton.bottomAnchor.constraint(equalTo: bottomAnchor), + tapButton.leadingAnchor.constraint(equalTo: leadingAnchor), ]) } } diff --git a/Mastodon/Scene/Share/View/Container/MosaicPlayerView.swift b/Mastodon/Scene/Share/View/Container/MosaicPlayerView.swift index 1851154b..49ccca5b 100644 --- a/Mastodon/Scene/Share/View/Container/MosaicPlayerView.swift +++ b/Mastodon/Scene/Share/View/Container/MosaicPlayerView.swift @@ -15,9 +15,9 @@ final class MosaicPlayerView: UIView { private let touchBlockingView = TouchBlockingView() private var containerHeightLayoutConstraint: NSLayoutConstraint! - let mosaicView: MosaicView = { - let mosaicView = MosaicView() - return mosaicView + let mosaicBlurView: MosaicBlurView = { + let mosaicBlurView = MosaicBlurView() + return mosaicBlurView }() let playerViewController = AVPlayerViewController() @@ -67,12 +67,12 @@ extension MosaicPlayerView { playerViewController.view.layer.cornerRadius = MosaicPlayerView.cornerRadius playerViewController.view.layer.cornerCurve = .continuous - addSubview(mosaicView) + addSubview(mosaicBlurView) NSLayoutConstraint.activate([ - mosaicView.topAnchor.constraint(equalTo: topAnchor), - mosaicView.leadingAnchor.constraint(equalTo: leadingAnchor), - mosaicView.trailingAnchor.constraint(equalTo: trailingAnchor), - mosaicView.bottomAnchor.constraint(equalTo: bottomAnchor) + mosaicBlurView.topAnchor.constraint(equalTo: topAnchor), + mosaicBlurView.leadingAnchor.constraint(equalTo: leadingAnchor), + mosaicBlurView.trailingAnchor.constraint(equalTo: trailingAnchor), + mosaicBlurView.bottomAnchor.constraint(equalTo: bottomAnchor) ]) } } diff --git a/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift b/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift index d1b5a5c2..b6af9826 100644 --- a/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift +++ b/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift @@ -23,7 +23,7 @@ protocol StatusTableViewCellDelegate: class { func statusTableViewCell(_ cell: StatusTableViewCell, statusView: StatusView, contentWarningActionButtonPressed button: UIButton) func statusTableViewCell(_ cell: StatusTableViewCell, mosaicImageViewContainer: MosaicImageViewContainer, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) - func statusTableViewCell(_ cell: StatusTableViewCell, mosaicView: MosaicView, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) + func statusTableViewCell(_ cell: StatusTableViewCell, mosaicBlurView: MosaicBlurView, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) func statusTableViewCell(_ cell: StatusTableViewCell, mosaicImageViewContainer: MosaicImageViewContainer, didTapImageView imageView: UIImageView, atIndex index: Int) func statusTableViewCell(_ cell: StatusTableViewCell, actionToolbarContainer: ActionToolbarContainer, likeButtonDidPressed sender: UIButton)