Этот код также работает:
class ViewController: UIViewController {
// MARK: IBOutlets
@IBOutlet private weak var resizableView: UIView!
@IBOutlet private weak var widthTextField: UITextField!
@IBOutlet private weak var heightTextField: UITextField!
// MARK: IBActions
@IBAction private func didResizeButtonTapped(_ sender: UIButton) {
let (newWidth, newHeight) = convertValues()
resizableView.frame.size.width = newWidth
resizableView.frame.size.height = newHeight
}
}
// MARK: Private Methods
private extension ViewController {
func convertValues() -> (width: CGFloat, height: CGFloat) {
let width = Float(widthTextField.text ?? "0")
let height = Float(heightTextField.text ?? "0")
return (CGFloat(width ?? 0.0), CGFloat(height ?? 0.0))
}
}
, но в моем случае я использую ограничения для своего "resizableView", поэтому мое представление каждый раз аннулируется.В этом случае вы можете создать ссылку на ограничения ширины и высоты и установить для них новые значения, такие как:
widthConstraint.constant = <your_value>