我有一个ar场景,在其中打开相机并识别一张特定的照片,然后打开一个ScrollView,其中包含一些工作中固有的文本。现在,我应该在场景中创建一个具有返回inditro功能的按钮。但是,我想返回的场景是由Interacotr,Worker和Presenter创建的。当您单击X按钮并返回没有AR的场景时该怎么办?
我尚未创建的按钮
import Foundation
import AVFoundation
import UIKit
class ArTestoController: UIViewController, UIScrollViewDelegate {
func removeView() {
let tap = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
text.addGestureRecognizer(tap)
}
@objc func handleTap(_ sender: UITapGestureRecognizer) {
//ArTestoController.removeFromParentViewController()
//text.removeFromSuperview()
//self.scrollView = nil
}
var scrollView: UIScrollView!
let text = UITextView().then {
$0.text =
"""
1.Introduzione alla Chiesa di Santa Maria delle Grazie La chiesa di Santa Maria delle Grazie sorge ai margini del centro storico di Varallo, lungo la strada percorsa un tempo dai pellegrini diretti al Sacro Monte, a pochi metri dalla stazione della funivia che dal 1935 collega il fondo valle con la cima del Monte. Già in costruzione nel 1486 e consacrata il 5 settembre 1501, è donata il 14 aprile 1493 dalla comunità di Varallo all’ordine dei francescani osservanti, nella persona del vicario provinciale Bernardino Caimi, congiuntamente all’annesso convento, all’eremitorio e alle prime cappelle del Sacro Monte. L’anno di donazione è ricordato dall’iscrizione, dipinta in facciata, sotto lo spiovente che protegge la porta d’ingresso della chiesa. Secondo un canone architettonico diffuso proprio dagli osservanti in Lombardia e Piemonte tra Quattro e Cinquecento, comunemente detto modulo bernardiniano, perché attribuito all’invenzione di San Bernardino da Siena (1380-1444), la chiesa è divisa in due aule da una parete chiamata tramezzo, alta fino al soffitto e sostenuta da tre arcate. La funzione del tramezzo non è solo quella di separare la navata, destinata ai fedeli, dal coro, riservato ai frati, ma anche di costituire il supporto materiale per la realizzazione di affreschi utilizzati a sostegno della predicazione. Attraversando l’arco centrale si raggiunge il coro, mentre i due archi laterali immettono nelle cappelle di Santa Margherita da Cortona, già Scarognino (cat. 7), a sinistra, e di Santa Maria delle Grazie, a destra.
2.Crocifissione Delle ventuno Storie quella che cattura maggiormente l’attenzione è senza dubbio la Crocifissione, interpretata da Giovanni Testori come la «prima, grande prova di teatro popolare» di Gaudenzio, cioè come anticipazione delle sue imprese al SacroMonte (cat. 46). La scena non colpisce solamente per le dimensioni, pari a quelle di quattro riquadri, ma anche a causa dell’abbondanza di elementi in rilievo (che tuttavia non compaiono solo qui) e per la quantità di personaggi che Gaudenzio ha modo di inserirvi, tra i quali risaltano particolarmente quelli disposti in primo piano: a sinistra il gruppo delle Marie, a destra i soldati che giocano ai dadi la veste di Cristo, le madri che stringono al petto i propri figli e due anacronistici pellegrini, identificabili grazie alle insegne della conchiglia e delle chiavi appuntate sugli abiti, proprie di chi aveva percorso il cammino verso Santiago de Compostela e Roma. Nel volto di quello di sinistra, con i capelli e la barba rossi, si è voluto a lungo riconoscere un autoritratto di Gaudenzio. La veduta urbana sul fondo mostra una Gerusalemme cinta dalle mura che assomiglia alle città contemporanee, con costruzioni improntate all’architettura all’antica: si distingue però una mezzaluna in cima a un edificio(accanto alla croce che regge il cattivo ladrone), ad alludere alla condizione attuale della Terra Santa. Gli stendardi che si agitano al vento contengono il tradizionale scorpione, allusivo alla legione romana di Ponzio Pilato, l’insegna spqr, ma anche una sorta di aquila imperiale.
3.Pilato si lava le mani. Pari all’ampiezza dei riferimenti è la sperimentazione sul fronte dello stile e della tecnica, dove l’affresco non esclude abbondanti ritocchi a secco e dorature: oltre agli elementi in pastiglia (per figurare nimbi, elmi, borchie, calici, scudi, collane...), spesso rivestiti di lamine metalliche, si può ricordare la singolare resa della cotta in maglia metallica del soldato che presenta Cristo a Pilato impegnato a lavarsi le mani, la cui trama è impressa sull’intonaco fresco. Sulla veste, originariamente verde e blu, di questa specie di lanzichenecco le cadute di colore – analogamente a quanto avviene in alcune figure della Cappella 5 al Sacro Monte (cat. 47) – mettono in luce la sinopia, stesa a colpi di pennello sull’intonaco.
"""
$0.textColor = .black
$0.alpha = 1
$0.textAlignment = .left
//$0.textContainer.maximumNumberOfLines = 4
$0.backgroundColor = UIColor.clear
$0.font = UIFont.systemFont(ofSize: 15)
//$0.isUserInteractionEnabled = true
$0.sizeToFit()
$0.isEditable = false
$0.isUserInteractionEnabled = true
$0.isSelectable = false
}
func showOperaImage(){
self.view.addSubview(scrollView)
self.scrollView.addSubview(text)
scrollView.activate([
scrollView.centerXAnchor.constraint(equalTo: self.scrollView.centerXAnchor),
scrollView.centerYAnchor.constraint(equalTo: self.scrollView.centerYAnchor),
scrollView.heightAnchor.constraint(equalTo: self.scrollView.heightAnchor, multiplier: 0.2),
])
text.activate([
text.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
text.centerYAnchor.constraint(equalTo: self.view.centerYAnchor),
text.heightAnchor.constraint(equalTo: self.view.heightAnchor, multiplier: 1),
text.widthAnchor.constraint(equalTo: self.view.widthAnchor, multiplier: 1),
])
scrollView.backgroundColor = UIColor.darkGray
/*
DispatchQueue.main.asyncAfter(deadline: .now() + 0.65) {
self.text.alpha = 1
}*/
}
override func viewDidLoad() {
super.viewDidLoad()
self.scrollView = UIScrollView()
self.scrollView.delegate = self
showOperaImage()
removeView()
//scrollView.addSubview(text)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
scrollView.frame = view.bounds
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}