chore: rename MosaicView to MosaicBlurView

This commit is contained in:
sunxiaojian 2021-03-11 17:24:00 +08:00
parent 1342471c5d
commit bbdd6926d6
6 changed files with 37 additions and 35 deletions

View File

@ -60,7 +60,7 @@
2D61335E25C1894B00CAE157 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D61335D25C1894B00CAE157 /* APIService.swift */; }; 2D61335E25C1894B00CAE157 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D61335D25C1894B00CAE157 /* APIService.swift */; };
2D61336925C18A4F00CAE157 /* AlamofireNetworkActivityIndicator in Frameworks */ = {isa = PBXBuildFile; productRef = 2D61336825C18A4F00CAE157 /* AlamofireNetworkActivityIndicator */; }; 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 */; }; 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 */; }; 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 */; }; 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 */; }; 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 = "<group>"; }; 2D61335725C188A000CAE157 /* APIService+Persist+Timeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "APIService+Persist+Timeline.swift"; sourceTree = "<group>"; };
2D61335D25C1894B00CAE157 /* APIService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIService.swift; sourceTree = "<group>"; }; 2D61335D25C1894B00CAE157 /* APIService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIService.swift; sourceTree = "<group>"; };
2D650FAA25ECDC9300851B58 /* Mastodon+Entity+Error+Detail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Mastodon+Entity+Error+Detail.swift"; sourceTree = "<group>"; }; 2D650FAA25ECDC9300851B58 /* Mastodon+Entity+Error+Detail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Mastodon+Entity+Error+Detail.swift"; sourceTree = "<group>"; };
2D694A7325F9EB4E0038ADDC /* MosaicView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MosaicView.swift; sourceTree = "<group>"; }; 2D694A7325F9EB4E0038ADDC /* MosaicBlurView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MosaicBlurView.swift; sourceTree = "<group>"; };
2D69CFF325CA9E2200C3A1B2 /* LoadMoreConfigurableTableViewContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadMoreConfigurableTableViewContainer.swift; sourceTree = "<group>"; }; 2D69CFF325CA9E2200C3A1B2 /* LoadMoreConfigurableTableViewContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadMoreConfigurableTableViewContainer.swift; sourceTree = "<group>"; };
2D69D00925CAA00300C3A1B2 /* APIService+CoreData+Toot.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "APIService+CoreData+Toot.swift"; sourceTree = "<group>"; }; 2D69D00925CAA00300C3A1B2 /* APIService+CoreData+Toot.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "APIService+CoreData+Toot.swift"; sourceTree = "<group>"; };
2D76316425C14BD100929FB9 /* PublicTimelineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicTimelineViewController.swift; sourceTree = "<group>"; }; 2D76316425C14BD100929FB9 /* PublicTimelineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicTimelineViewController.swift; sourceTree = "<group>"; };
@ -1179,7 +1179,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
DB9D6C0D25E4F9780051B173 /* MosaicImageViewContainer.swift */, DB9D6C0D25E4F9780051B173 /* MosaicImageViewContainer.swift */,
2D694A7325F9EB4E0038ADDC /* MosaicView.swift */, 2D694A7325F9EB4E0038ADDC /* MosaicBlurView.swift */,
2D206B7125F5D27F00143C56 /* AudioContainerView.swift */, 2D206B7125F5D27F00143C56 /* AudioContainerView.swift */,
5DF1057825F88A1D00D6C0D4 /* MosaicPlayerView.swift */, 5DF1057825F88A1D00D6C0D4 /* MosaicPlayerView.swift */,
5DF1057E25F88A4100D6C0D4 /* TouchBlockingView.swift */, 5DF1057E25F88A4100D6C0D4 /* TouchBlockingView.swift */,
@ -1635,7 +1635,7 @@
2D45E5BF25C9549700A6D639 /* PublicTimelineViewModel+State.swift in Sources */, 2D45E5BF25C9549700A6D639 /* PublicTimelineViewModel+State.swift in Sources */,
DB8AF55D25C138B7002E6C99 /* UIViewController.swift in Sources */, DB8AF55D25C138B7002E6C99 /* UIViewController.swift in Sources */,
2D3F9E0425DFA133004262D9 /* UITapGestureRecognizer.swift in Sources */, 2D3F9E0425DFA133004262D9 /* UITapGestureRecognizer.swift in Sources */,
2D694A7425F9EB4E0038ADDC /* MosaicView.swift in Sources */, 2D694A7425F9EB4E0038ADDC /* MosaicBlurView.swift in Sources */,
DB4481CC25EE2AFE00BEFB67 /* PollItem.swift in Sources */, DB4481CC25EE2AFE00BEFB67 /* PollItem.swift in Sources */,
DB4563BD25E11A24004DA0B9 /* KeyboardResponderService.swift in Sources */, DB4563BD25E11A24004DA0B9 /* KeyboardResponderService.swift in Sources */,
DB5086BE25CC0D9900C2C187 /* SplashPreference.swift in Sources */, DB5086BE25CC0D9900C2C187 /* SplashPreference.swift in Sources */,

View File

@ -193,13 +193,13 @@ extension StatusSection {
return CGSize(width: maxWidth, height: maxWidth * scale) return CGSize(width: maxWidth, height: maxWidth * scale)
}() }()
cell.statusView.mosaicPlayerView.mosaicView.blurVisualEffectView.effect = isStatusSensitive ? MosaicImageViewContainer.blurVisualEffect : nil cell.statusView.mosaicPlayerView.mosaicBlurView.blurVisualEffectView.effect = isStatusSensitive ? MosaicImageViewContainer.blurVisualEffect : nil
cell.statusView.mosaicPlayerView.mosaicView.vibrancyVisualEffectView.alpha = isStatusSensitive ? 1.0 : 0.0 cell.statusView.mosaicPlayerView.mosaicBlurView.vibrancyVisualEffectView.alpha = isStatusSensitive ? 1.0 : 0.0
cell.statusView.mosaicPlayerView.mosaicView.isUserInteractionEnabled = isStatusSensitive cell.statusView.mosaicPlayerView.mosaicBlurView.isUserInteractionEnabled = isStatusSensitive
cell.statusView.mosaicPlayerView.mosaicView.mosaicButton.publisher(for: .touchUpInside) cell.statusView.mosaicPlayerView.mosaicBlurView.tapButton.publisher(for: .touchUpInside)
.sink { [weak cell] _ in .sink { [weak cell] _ in
guard let cell = cell else { return } 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) .store(in: &cell.disposeBag)

View File

@ -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, 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 diffableDataSource = self.tableViewDiffableDataSource else { return }
guard let item = item(for: cell, indexPath: nil) else { return } guard let item = item(for: cell, indexPath: nil) else { return }
@ -57,16 +58,17 @@ extension StatusTableViewCellDelegate where Self: StatusProvider {
default: default:
return return
} }
mosaicView.isUserInteractionEnabled = false mosaicBlurView.isUserInteractionEnabled = false
var snapshot = diffableDataSource.snapshot() var snapshot = diffableDataSource.snapshot()
snapshot.reloadItems([item]) snapshot.reloadItems([item])
UIView.animate(withDuration: 0.33) { UIView.animate(withDuration: 0.33) {
mosaicView.blurVisualEffectView.effect = nil mosaicBlurView.blurVisualEffectView.effect = nil
mosaicView.vibrancyVisualEffectView.alpha = 0.0 mosaicBlurView.vibrancyVisualEffectView.alpha = 0.0
} completion: { _ in } completion: { _ in
diffableDataSource.apply(snapshot, animatingDifferences: false, completion: nil) diffableDataSource.apply(snapshot, animatingDifferences: false, completion: nil)
} }
} }
func statusTableViewCell(_ cell: StatusTableViewCell, mosaicImageViewContainer: MosaicImageViewContainer, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) { func statusTableViewCell(_ cell: StatusTableViewCell, mosaicImageViewContainer: MosaicImageViewContainer, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) {
guard let diffableDataSource = self.tableViewDiffableDataSource else { return } guard let diffableDataSource = self.tableViewDiffableDataSource else { return }
guard let item = item(for: cell, indexPath: nil) else { return } guard let item = item(for: cell, indexPath: nil) else { return }

View File

@ -8,13 +8,13 @@
import Foundation import Foundation
import UIKit import UIKit
class MosaicView: UIView { class MosaicBlurView: UIView {
static let cornerRadius: CGFloat = 4 static let cornerRadius: CGFloat = 4
static let blurVisualEffect = UIBlurEffect(style: .systemUltraThinMaterial) static let blurVisualEffect = UIBlurEffect(style: .systemUltraThinMaterial)
let blurVisualEffectView = UIVisualEffectView(effect: MosaicView.blurVisualEffect) let blurVisualEffectView = UIVisualEffectView(effect: MosaicBlurView.blurVisualEffect)
let vibrancyVisualEffectView = UIVisualEffectView(effect: UIVibrancyEffect(blurEffect: MosaicView.blurVisualEffect)) let vibrancyVisualEffectView = UIVisualEffectView(effect: UIVibrancyEffect(blurEffect: MosaicBlurView.blurVisualEffect))
let mosaicButton: UIButton = { let tapButton: UIButton = {
let button = UIButton(type: .custom) let button = UIButton(type: .custom)
button.backgroundColor = .clear button.backgroundColor = .clear
button.translatesAutoresizingMaskIntoConstraints = false button.translatesAutoresizingMaskIntoConstraints = false
@ -40,14 +40,14 @@ class MosaicView: UIView {
} }
} }
extension MosaicView { extension MosaicBlurView {
private func _init() { private func _init() {
backgroundColor = .clear backgroundColor = .clear
translatesAutoresizingMaskIntoConstraints = false translatesAutoresizingMaskIntoConstraints = false
// add blur visual effect view in the setup method // add blur visual effect view in the setup method
blurVisualEffectView.layer.masksToBounds = true blurVisualEffectView.layer.masksToBounds = true
blurVisualEffectView.layer.cornerRadius = MosaicView.cornerRadius blurVisualEffectView.layer.cornerRadius = MosaicBlurView.cornerRadius
blurVisualEffectView.layer.cornerCurve = .continuous blurVisualEffectView.layer.cornerCurve = .continuous
vibrancyVisualEffectView.translatesAutoresizingMaskIntoConstraints = false vibrancyVisualEffectView.translatesAutoresizingMaskIntoConstraints = false
@ -76,12 +76,12 @@ extension MosaicView {
blurVisualEffectView.bottomAnchor.constraint(equalTo: bottomAnchor), blurVisualEffectView.bottomAnchor.constraint(equalTo: bottomAnchor),
]) ])
addSubview(mosaicButton) addSubview(tapButton)
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
mosaicButton.topAnchor.constraint(equalTo: topAnchor), tapButton.topAnchor.constraint(equalTo: topAnchor),
mosaicButton.trailingAnchor.constraint(equalTo: trailingAnchor), tapButton.trailingAnchor.constraint(equalTo: trailingAnchor),
mosaicButton.bottomAnchor.constraint(equalTo: bottomAnchor), tapButton.bottomAnchor.constraint(equalTo: bottomAnchor),
mosaicButton.leadingAnchor.constraint(equalTo: leadingAnchor), tapButton.leadingAnchor.constraint(equalTo: leadingAnchor),
]) ])
} }
} }

View File

@ -15,9 +15,9 @@ final class MosaicPlayerView: UIView {
private let touchBlockingView = TouchBlockingView() private let touchBlockingView = TouchBlockingView()
private var containerHeightLayoutConstraint: NSLayoutConstraint! private var containerHeightLayoutConstraint: NSLayoutConstraint!
let mosaicView: MosaicView = { let mosaicBlurView: MosaicBlurView = {
let mosaicView = MosaicView() let mosaicBlurView = MosaicBlurView()
return mosaicView return mosaicBlurView
}() }()
let playerViewController = AVPlayerViewController() let playerViewController = AVPlayerViewController()
@ -67,12 +67,12 @@ extension MosaicPlayerView {
playerViewController.view.layer.cornerRadius = MosaicPlayerView.cornerRadius playerViewController.view.layer.cornerRadius = MosaicPlayerView.cornerRadius
playerViewController.view.layer.cornerCurve = .continuous playerViewController.view.layer.cornerCurve = .continuous
addSubview(mosaicView) addSubview(mosaicBlurView)
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
mosaicView.topAnchor.constraint(equalTo: topAnchor), mosaicBlurView.topAnchor.constraint(equalTo: topAnchor),
mosaicView.leadingAnchor.constraint(equalTo: leadingAnchor), mosaicBlurView.leadingAnchor.constraint(equalTo: leadingAnchor),
mosaicView.trailingAnchor.constraint(equalTo: trailingAnchor), mosaicBlurView.trailingAnchor.constraint(equalTo: trailingAnchor),
mosaicView.bottomAnchor.constraint(equalTo: bottomAnchor) mosaicBlurView.bottomAnchor.constraint(equalTo: bottomAnchor)
]) ])
} }
} }

View File

@ -23,7 +23,7 @@ protocol StatusTableViewCellDelegate: class {
func statusTableViewCell(_ cell: StatusTableViewCell, statusView: StatusView, contentWarningActionButtonPressed button: UIButton) func statusTableViewCell(_ cell: StatusTableViewCell, statusView: StatusView, contentWarningActionButtonPressed button: UIButton)
func statusTableViewCell(_ cell: StatusTableViewCell, mosaicImageViewContainer: MosaicImageViewContainer, didTapContentWarningVisualEffectView visualEffectView: UIVisualEffectView) 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, mosaicImageViewContainer: MosaicImageViewContainer, didTapImageView imageView: UIImageView, atIndex index: Int)
func statusTableViewCell(_ cell: StatusTableViewCell, actionToolbarContainer: ActionToolbarContainer, likeButtonDidPressed sender: UIButton) func statusTableViewCell(_ cell: StatusTableViewCell, actionToolbarContainer: ActionToolbarContainer, likeButtonDidPressed sender: UIButton)