मैं स्विफ्ट के लिए नया हूं और मैं जानना चाहता हूं कि मैं किसी सरणी से कुछ मान कैसे ले सकता हूं और उन्हें स्टैक में बटन में बदल सकता हूं। मेरे पास कुत्तों और उनकी जानकारी के साथ एक सरणी है। मैं चाहता हूं कि बटन प्रत्येक कुत्ते का नाम प्रदर्शित करें। कुत्तों की संख्या बदल सकती है, इसलिए सरणी में जो है उसे प्रतिबिंबित करने के लिए मुझे बदलने के लिए स्टैक की आवश्यकता है। मैं वास्तव में खो गया हूं, मुझे पता है कि मुझे इस कोड को व्यू कंट्रोलर में जोड़ने की जरूरत है, लेकिन मुझे इसके समान कुछ भी नहीं मिल रहा है

यह मेरी सरणी है:

var myDogs = [
        Dog(name: "Saleks", gender: "Male", speed: 50),
        Dog(name: "Balto", gender: "Male", speed: 70),
        Dog(name: "Mila", gender: "Female", speed: 20)
    ]

यह मेरा दृश्य नियंत्रक है:

    @IBOutlet weak var buttonsStack: UIStackView!

    override func viewDidLoad() {
        super.viewDidLoad()
        for Dog in myDogs {
        print("\(Dog.name)")
    }

// सरणी में एक नया कुत्ता जोड़ें

@IBAction func buyDogButton(_ sender: UIButton) {
func buyDog() {
myDogs.append(Dog(name: "Dogname", gender: "female", speed: 20))

}
0
imeyer 25 जुलाई 2020, 16:25

1 उत्तर

सबसे बढ़िया उत्तर

मैं यह करूँगा:

तो कोड इस तरह दिखेगा (डिडलोड को देखते हुए):

var myDogs = [
              Dog(name: "Saleks", gender: "Male", speed: 50),
              Dog(name: "Balto", gender: "Male", speed: 70),
              Dog(name: "Mila", gender: "Female", speed: 20)
          ]

let stackView   = UIStackView(frame: CGRect(x: 40, y: 100, width: 60, height: 100))
stackView.backgroundColor = .red
stackView.axis  = NSLayoutConstraint.Axis.vertical
stackView.distribution  = UIStackView.Distribution.equalSpacing
stackView.alignment = UIStackView.Alignment.center
stackView.spacing   = 16.0
      
for dog in myDogs {
    let button = UIButton() // Need to set the IBAction
    button.setTitleColor(.blue, for: UIControl.State.normal)
    button.setTitle(dog.name, for: UIControl.State.normal)  // "Click"
    button.backgroundColor = .red
    stackView.addArrangedSubview(button)
 }

 stackView.translatesAutoresizingMaskIntoConstraints = false

 self.view.addSubview(stackView)
      //Constraints
 stackView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true
 stackView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true

मैंने बटन को काफी दृश्यमान बनाने के लिए पृष्ठभूमि का रंग लाल पर सेट किया है आप सामान्य चौड़ाई वाले बटन रखना चाहते हैं, फिर जब आप बटन बनाते हैं तो उनका फ्रेम सेट करें।

0
claude31 25 जुलाई 2020, 17:33