Всего iOS/Swift newb здесь. У меня есть View (или UIImageView, не думаю, что это важно) на моем storyBoard, и мне нужно обратиться к нему в моем коду viewController. Как мне это сделать?Доступ или ссылка на UIImageView с viewController
Почему? Я пытаюсь показать предварительный просмотр камеры в «представлении», который не является полноэкранным.
Я использую пример кода для камеры, которая включает в себя этот код
func beginSession() {
var err : NSError? = nil
captureSession.addInput(AVCaptureDeviceInput(device: captureDevice, error: &err))
if err != nil {
println("error: \(err?.localizedDescription)")
}
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
self.view.layer.addSublayer(previewLayer)
previewLayer?.frame = self.view.layer.frame
captureSession.startRunning()
}
, что, кажется, говоря, положить previewLayer в (основной) «взгляд» на моей раскадровки.
Итак, я понял и исследовал, что я мог бы добавить sub View (или UIImageView) в свою раскадровку и сделать его размером, который я хочу, а затем добавить в него PreviewLayer.
Например. от another question на SO
... а затем изменить часть в нижней части, которая говорит,
"previewLayer? .frame = self.view.layer.frame"
к вашему 200by200 View .layer.frame
Хорошо, так как я могу получить свой вид на 200x200, поэтому я могу получить доступ к его фрейму (даже не знаю, какой слой и кадр находятся в этой точке)?
Я попытался управлять перетащить вид, или UIImageView в viewController из раскадровки, но это не сработало (ничего не сделало).
Чтобы получить доступ к любому объекту из раскадровки в вашем ViewController, вам необходимо добавить подключение к розетке. Откройте StoryBoard, откройте редактор ассистентов (редактор View/Assistant Editor) и CONTROL-DRAG линию от представления к коду ViewController, создав новое соединение с выходом. – cleuton
Вы сказали, что пытались контролировать перетаскивание из раскадровки в ViewController, но какой вид вы пытались подключить? Вы должны кривить представление (предположим, UIImageView), удерживать изображение, а затем отображать редактор помощников (это важно), а затем перетащить его на управление. Это действие должно создать новую переменную класса, помеченную как @IBOutlet. Вы попробовали это? – cleuton