Ich versuche, UIImageView programmgesteuert in Xcode 6.1 festzulegen:
@IBOutlet weak var bgImage: UIImageView!
var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(bgImage)
Aber Xcode sagt, dass "erwartete Deklaration" mit bgImage = UIImageView(image: image)
Image "afternoon"
ein PNG ist, und nach meinem Verständnis benötigt PNG keine Erweiterung in XCode 6.1.
Auch gerade versucht bgImage.image = UIImage(named: "afternoon")
, aber trotzdem bekommen:
AKTUALISIEREN
OK, ich habe den zu aktualisierenden Code UIImageView
in die viewDidLoad
Funktion eingefügt, aber UIImageView
das Bild (das im Basisverzeichnis alsnachmittag.png vorhanden ist) wird immer noch nicht angezeigt:
@IBOutlet weak var bgImage: UIImageView!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var timeLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
updateTime()
var timer = NSTimer()
let aSelector : Selector = "updateTime"
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)
var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
}
bgImage = UIImageView(image: image)
nur zu benutzenbgImage.image = UIImage(named: "afternoon")
?Antworten:
Da Sie Ihr bgImage als IBOutlet zugewiesen und verknüpft haben, müssen Sie es nicht als UIImageView initialisieren. Stattdessen müssen Sie lediglich die Bildeigenschaft wie folgt festlegen
bgImage.image = UIImage(named: "afternoon")
. Nach dem Ausführen dieses Codes sah das Bild gut aus, da es bereits über die Steckdose zugewiesen wurde.Wenn es sich jedoch nicht um eine Steckdose handelt und Sie sie noch nicht mit einem UIImageView-Objekt in einer Storyboard- / XIB-Datei verbunden haben, können Sie Folgendes tun ...
quelle
In xcode 8 können Sie das Bild direkt aus dem Auswahlfenster auswählen (NEU) ...
Sie müssen nur "image" eingeben und erhalten ein Vorschlagsfeld. Wählen Sie dann "Image Literal" aus der Liste aus (siehe im beigefügten Bild) und
Tippen Sie dann auf das Quadrat, um alle Bilder (siehe im
zweiten angehängten Bild) zu sehen, die sich in Ihren Bildelementen befinden ... oder wählen Sie ein anderes Bild von dort aus.
quelle
OK, hat es damit funktioniert (UIImageView programmgesteuert erstellen):
quelle
Wie wäre es damit;
Dabei befindet sich image_1 im Assets-Ordner als image_1. png .
Dies hat bei mir funktioniert, da ich eine Schalterhülle verwende, um eine Bildfolie anzuzeigen.
quelle
Dieser Code befindet sich am falschen Ort:
Sie müssen es in eine Funktion einfügen. Ich empfehle es innerhalb der
viewDidLoad
Funktion zu verschieben.Im Allgemeinen ist der einzige Code, den Sie innerhalb der Klasse hinzufügen können, der sich nicht in einer Funktion befindet, Variablendeklarationen wie:
quelle
Mit schneller Syntax hat das bei mir funktioniert:
quelle
In Swift 4, wenn das Bild als Null zurückgegeben wird.
Klicken Sie auf das Bild rechts (Dienstprogramme) -> Zielmitgliedschaft prüfen
quelle
Wenn Sie es so machen möchten, wie Sie es in Ihrer Frage gezeigt haben, ist dies eine Möglichkeit, es inline zu machen
quelle
Sie müssen nur eine ziehen und ablegen
ImageView
, die Outlet-Aktion erstellen, sie verknüpfen und ein Bild bereitstellen (Xcode wird in Ihrem angezeigtassets
Ordner nach dem von Ihnen angegebenen Namen (hier: "toronto")).Im
yourProject/ViewController.swift
quelle