返回主场景按钮动作迅速4

时间:2018-07-21 14:26:54

标签: swift xcode button action

我有一个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.
    }
}

0 个答案:

没有答案