[SWIFT] Implementieren Sie CustomView im Code

Einführung

Als ich "CustomView" in Code implementiert habe, war mein Verständnis der "init" -Methode nicht eindeutig, daher werde ich sie als Erinnerung veröffentlichen.

Betriebsumgebung

【Xcode】Version 12.0.1 【Swift】Version 5.3

Implementierungscode

CustomView.swift


import UIKit

class CustomView: UIView {
    
    var imageView: UIImageView!
    
    //Detaillierte Erklärung ①
    override init(frame: CGRect) {
        super.init(frame: frame)
        setup()
    }
    
    //Detaillierte Erklärung ②
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setup()
    }
    
    private func setup(){
        let iWidth: CGFloat = 200
        let iHeight: CGFloat = 200
        let posX: CGFloat = (self.frame.width - iWidth)/2
        let posY: CGFloat = (self.frame.height - iHeight)/2
        
        imageView = UIImageView(frame: CGRect(x: posX, y: posY, width: iWidth, height: iHeight))
        imageView.image = UIImage(named: "hoge")
        self.addSubview(imageView)
    }
    
}

ViewController.swift


import UIKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()

        let customView = CustomView()
        customView.frame = CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.view.bounds.height)
        self.view.addSubview(customView)
    }
}

Detaillierte Erklärung ①

override init(frame: CGRect) {
    super.init(frame: frame)
}

Detaillierte Erklärung ②

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

Referenz

Recommended Posts

Implementieren Sie CustomView im Code
Markdown in Rails implementiert
So implementieren Sie UICollectionView mit Code nur in Swift
Implementieren Sie die Anwendungsfunktion in Rails
So füllen Sie den Code mit Qiita aus
Implementierung der zweistufigen Authentifizierung in Java
Implementieren Sie die LTI-Authentifizierung in Rails
Implementieren Sie die Standardauthentifizierung in Java
Implementieren Sie eine Kombination aus Mathematik in Java
2 Implementieren Sie eine einfache Syntaxanalyse in Java
Java mit Visual Studio Code
[Android] Implementieren Sie Adblock in WebView
Implementieren Sie das Senden von E-Mails in Java
Schreiben Sie Java8-ähnlichen Code in Java8
Implementieren Sie eine funktionsähnliche schnelle Sortierung in Java
Implementieren Sie rm -rf in Java.
Implementieren Sie die XML-Signatur in Java
Implementieren Sie einen tabellengesteuerten Test in Java 14
Errate den Zeichencode in Java
3 Implementieren Sie einen einfachen Interpreter in Java
Versuchen Sie, Yuma in Ruby zu implementieren
Java Spring-Umgebung in vs Code
Schreiben Sie den Testcode mit Spring Boot
Implementieren Sie eine einfache Anmeldefunktion in Rails
Implementieren Sie reCAPTCHA v3 in Java / Spring
Implementieren einer Materialdesignansicht in Kotlin
Implementieren Sie die PHP-Implodierungsfunktion in Java
Implementieren Sie den gRPC-Client in Ruby
Implementieren Sie die REST-API mit Spring Boot
Implementieren Sie ein Kontaktformular in Rails
Implementieren Sie die Spring Boot-Anwendung in Gradle
Versuchen Sie, Yuma in Java zu implementieren
Implementieren Sie die CSV-Download-Funktion in Rails
1 Implementieren Sie eine einfache Phrasenanalyse in Java
Die Anwendung absorbiert den Unterschied im Zeichencode
So implementieren Sie Suchfunktionen in Rails
Implementierung von FizzBuzz-Problemen in der testgetriebenen Entwicklung (Vorbereitung)
So implementieren Sie die Datumsberechnung in Java
Verwenden von Hystrix und Sentinel im Codebeispiel
Versuchen Sie, n-ary Addition in Java zu implementieren
Implementieren Sie den Algorithmus in Ruby: Tag 1 - Europäische gegenseitige Teilung -
Ermöglichen Sie die Code-Vervollständigung in Eclipse für Mac
Implementierung von FizzBuzz-Problemen in der testgetriebenen Entwicklung (Praxis)
So erzwingen Sie Codierungskonventionen in Java
Alle gleichen Hash-Code-Zeichenfolgen in Java
Implementieren Sie so etwas wie einen Stack in Java
So implementieren Sie Ranking-Funktionen in Rails
So implementieren Sie die asynchrone Verarbeitung in Outsystems
[Mac] Installieren Sie Java in Visual Studio Code
Implementieren Sie Schaltflächenübergänge mit link_to in Rails