Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- class ViewController: UIViewController {
- @IBOutlet weak var sizeSlider: UISlider!
- var label: UILabel!
- var textField: UITextField!
- var labelBaseSize: CGSize!
- var textFielBasedSize: CGSize!
- var isLabelSelected = true
- var selectedView: UIView!
- override func viewDidLoad() {
- super.viewDidLoad()
- label = UILabel(frame: CGRect(x: 0, y: 0, width: 36, height: 26))
- label.text = "This is a UILabel"
- label.backgroundColor = UIColor.gray
- label.textAlignment = .center
- label.sizeToFit()
- view.addSubview(label)
- labelBaseSize = label.bounds.size
- label.center = view.convert(view.center, from:view.superview)
- textField = UITextField(frame: CGRect(x: 0, y: 0, width: 36, height: 26))
- textField.text = "This is a UITextField"
- textField.backgroundColor = UIColor.gray
- textField.textAlignment = .center
- textField.sizeToFit()
- view.addSubview(textField)
- textFielBasedSize = textField.bounds.size
- textField.center = view.convert(view.center, from:view.superview)
- textField.isHidden = true
- selectedView = label
- sizeSlider.minimumValue = 0
- sizeSlider.maximumValue = 10
- }
- @IBAction func labelAction(_ sender: UIButton) {
- label.isHidden = false
- textField.isHidden = true
- selectedView = label
- }
- @IBAction func textFieldAction(_ sender: UIButton) {
- label.isHidden = true
- textField.isHidden = false
- selectedView = textField
- }
- @IBAction func sizeChange(_ sender: UISlider) {
- let scaleFactor = CGFloat(sender.value)
- // CGAffineTransform will rastarize the text and make it blurry
- // selectedView.transform = CGAffineTransform(scaleX: scaleFactor, y: scaleFactor)
- let baseSize = isLabelSelected ? labelBaseSize : textFielBasedSize
- selectedView.bounds = CGRect(x: selectedView.bounds.origin.x,
- y: selectedView.bounds.origin.y,
- width: baseSize!.width * scaleFactor,
- height: baseSize!.height * scaleFactor)
- }
- }
Add Comment
Please, Sign In to add comment