gpt4 book ai didi

ios - IBOutlet for element in containerview inside original viewcontroller

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:44 24 4
gpt4 key购买 nike

在我的主视图中,我有两个容器,它们在 View Controller 中有一个 IBOutlet。

在两个容器中,我都有一个图像和一个标签,如下图所示。

enter image description here

我想要一个 IBOutlet 来更改图像和标签,但是当我将它拖到原始 View Controller 时,它不允许这样做。

所以在 viewcontroller.swift 中,正如我所说,我可以通过单击和拖动来访问每个容器。像这样

@IBOutlet weak var containerview1: UIView!
@IBOutlet weak var containerview2: UIView!

但我正在尝试访问容器中的 ImageView 和标签,如下所示:

@IBOutlet weak var containerview1: UIView!
@IBOutlet weak var containerview2: UIView!

@IBOutlet weak containerview1_ImageView: UIImageView!
@IBOutlet weak containerview2_ImageView!: UIImageView!

我知道这可能不是正确的做法。我需要能够通过 viewcontroller.swift 以编程方式更改两个容器 View 中的图像和标签。

最佳答案

为容器创建两个单独的类

import UIKit

class ContainerView1: UIView {

@IBOutlet var containerView1Label: UILabel!
@IBOutlet var containerView1ImageView: UIImageView!
}

class ContainerView2: UIView {

@IBOutlet var containerView2Label: UILabel!
@IBOutlet var containerView2ImageView: UIImageView!
}

在主视图 Controller Storyboard中定义那些类

enter image description here

现在通过从 Storyboard中拖动来设置标签和 ImageView 导出

enter image description here

现在在主视图 Controller 中拖动容器 socket 并使用

import UIKit

class ViewController: UIViewController {

@IBOutlet var containerView1: ContainerView1!
@IBOutlet var containerView2: ContainerView2!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.


// use like this both container elements

containerView1.containerView1Label.text = "Container view 1 lable"
//containerView1.containerView1ImageView.image = yourImage file
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

}

关于ios - IBOutlet for element in containerview inside original viewcontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38939312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com