Размер изображения UIButton автоматически изменяется даже при наличии ограничений - PullRequest
0 голосов
/ 19 января 2019

У меня есть небольшая проблема, с которой я, вероятно, не могу разобраться. У меня есть Uibutton добавлен программно. К этой кнопке я добавляю UIImage. Я просто добавляю базовые ограничения, но по какой-то причине он имеет тенденцию уменьшаться до меньшего размера при работе на экране.

Ниже приведен код для генерации кнопки:

var shareButton: UIButton!

    func addShareButton() {
        shareButton = UIButton()
        shareButton.autoresizesSubviews = false
        shareButton.clipsToBounds = true
        shareButton.translatesAutoresizingMaskIntoConstraints = false
        shareButton.adjustsImageWhenHighlighted = false
        shareButton.setImage(UIImage(named: "wshare"), for: .normal)
        shareButton.addTarget(self, action: #selector(shareButtonPressed), for: .touchDown)
        shareButton.addTarget(self, action: #selector(shareButtonReleased), for: .touchUpInside)
        view.addSubview(shareButton)
    }

    func addConstraints() {
        NSLayoutConstraint.activate([
            // Share Button
            shareButton.widthAnchor.constraint(equalToConstant: 60),
            shareButton.heightAnchor.constraint(equalToConstant: 60),
            shareButton.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -15),
            shareButton.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -25),
            ])
    }

    override func updateViewConstraints() {
        addConstraints()
        super.updateViewConstraints()
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        addShareButton()
    }

И что он генерирует это: enter image description here

Предполагается, что большая коробка должна иметь фактический размер 60x60, но она волшебным образом уменьшается до 32x32.

Можете ли вы помочь мне указать проблему. Я знаю, что скучаю по чему-то довольно глупому, но я не могу обойти это.

1 Ответ

0 голосов
/ 19 января 2019

Лично мне нравится хранить свои объекты отдельно. В то время как UIButton имеет метод setImage(:UIImage), я предпочитаю создать UIButton, затем добавить к нему свой собственный UIImageView и добавить свой UIImage. Итак, в иерархии

-- UIButton
    -- UIImageView
        -- UIImage

При этом вы можете указать конкретные границы и любые другие переменные, связанные с UIImageView. Я считаю, что эта методология невероятно конкретна, особенно если вам нужно изменить UIImageView.

...