как мы программно меняем ограничение изображения? - PullRequest
0 голосов
/ 13 июля 2020

Вот что я сделал, но не работает! Сейчас я не знаю, как решить эту проблему. есть идея?

ошибка:

imageConstraints [2301: 119390] [LayoutConstraints] Невозможно одновременно удовлетворить ограничения. Вероятно, по крайней мере, одно из ограничений в следующем списке вам не нужно. Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете; (2) найдите код, добавивший нежелательное ограничение или ограничения, и исправьте его. (" "," ")

import UIKit

var imageV = UIImageView()


class ViewController: UIViewController
{

    
    
    override func viewDidLoad()
    {
       
        super.viewDidLoad()

        
        imageV.image = UIImage(systemName: "1.circle")
        imageV.frame = CGRect(x: 0, y: 0, width: 50, height: 50)

        view.addSubview(imageV)
        imageV.translatesAutoresizingMaskIntoConstraints = false
        imageV.widthAnchor.constraint(equalToConstant: 50).isActive = true
        imageV.heightAnchor.constraint(equalToConstant: 50).isActive = true
        imageV.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 0).isActive = true
        imageV.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: -200).isActive = true
        
   
    }

    
    @IBAction func newConstraintsButton_Action(_ sender: UIButton)
    {
        
        
       
        

        imageV.removeFromSuperview()
        view.addSubview(imageV)
        imageV.frame = CGRect(x: 0, y: 0, width: 250, height: 250)
        imageV.translatesAutoresizingMaskIntoConstraints = false

        
        imageV.widthAnchor.constraint(equalToConstant: 50).isActive = false
        imageV.heightAnchor.constraint(equalToConstant: 50).isActive = false
        imageV.widthAnchor.constraint(equalToConstant: 250).isActive = true
        imageV.heightAnchor.constraint(equalToConstant: 250).isActive = true
        imageV.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 0).isActive = true
        imageV.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: -200).isActive = true
        
        
        

    }
    
}

1 Ответ

0 голосов
/ 14 июля 2020

Вы должны объявить imageV внутри ViewController.

class ViewController: UIViewController {
    var imageV = UIImageView()
    //...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...