Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 获取stackview程序中uibutton下方的imageview_Swift_Constraints_Add_Stackview - Fatal编程技术网

Swift 获取stackview程序中uibutton下方的imageview

Swift 获取stackview程序中uibutton下方的imageview,swift,constraints,add,stackview,Swift,Constraints,Add,Stackview,我的swift代码目标是放置一个UIA按钮并直接在下面。您可以看到左边的第一个图像是下面的代码所做的。您可以看到第一个图像将imageview放在按钮的末尾。目标是使代码看起来就像第二个图像,其中黄色的imageview位于按钮的正下方。第一个按钮下应该只有一个imageview 导入UIKit 类ViewController:UIViewController{ let box=(0..尝试先将按钮和imageView放在另一个视图中 import UIKit class ViewC

我的swift代码目标是放置一个UIA按钮并直接在下面。您可以看到左边的第一个图像是下面的代码所做的。您可以看到第一个图像将imageview放在按钮的末尾。目标是使代码看起来就像第二个图像,其中黄色的imageview位于按钮的正下方。第一个按钮下应该只有一个imageview

导入UIKit
类ViewController:UIViewController{

let box=(0..尝试先将按钮和imageView放在另一个视图中
    import UIKit

class ViewController: UIViewController {
    
    let box = (0..<20).map { _ in UIButton() }
    let stackView = UIStackView()
   
    var image1 = UIImageView()
    
    override func viewDidLoad() {
        super.viewDidLoad()

        image1.backgroundColor = .orange
        [stackView].forEach{
            
            
        $0.axis = .horizontal
        $0.alignment = .fill
            $0.distribution = .equalSpacing
        
        $0.translatesAutoresizingMaskIntoConstraints = false
        
        view.addSubview($0)
            
        }
        
        box[1...6].forEach { UIButton in
            
            stackView.addArrangedSubview(UIButton)
            //added
            stackView.addArrangedSubview(image1)
            //
            UIButton.backgroundColor = .red
            
            // make the image views square (1:1 ratio ... height == width)
            UIButton.heightAnchor.constraint(equalTo: UIButton.widthAnchor).isActive = true
            image1.heightAnchor.constraint(equalTo: view.heightAnchor,multiplier: 0.02).isActive = true
//            image1.topAnchor.constraint(equalTo: UIButton.bottomAnchor).isActive = true
            
            
            // each image view is 10% of the width of the view
            UIButton.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.12).isActive = true
                image1.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.02).isActive = true
            
            image1.topAnchor.constraint(equalTo: UIButton.bottomAnchor).isActive = true
            
        }
        
       
        stackView.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 1).isActive = true
        

        stackView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 20.0).isActive = true
        stackView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0.0).isActive = true
        
       
    }
}