Guest User

Untitled

a guest
Jul 12th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 2.11 KB | None | 0 0
  1. import UIKit
  2.  
  3. class ViewController: UIViewController {
  4.  
  5.   @IBOutlet weak var sizeSlider: UISlider!
  6.  
  7.   var label: UILabel!
  8.   var textField: UITextField!
  9.  
  10.   var labelBaseSize: CGSize!
  11.   var textFielBasedSize: CGSize!
  12.  
  13.   var isLabelSelected = true
  14.   var selectedView: UIView!
  15.  
  16.   override func viewDidLoad() {
  17.     super.viewDidLoad()
  18.    
  19.     label = UILabel(frame: CGRect(x: 0, y: 0, width: 36, height: 26))
  20.     label.text = "This is a UILabel"
  21.     label.backgroundColor = UIColor.gray
  22.     label.textAlignment = .center
  23.     label.sizeToFit()
  24.     view.addSubview(label)
  25.     labelBaseSize = label.bounds.size
  26.     label.center = view.convert(view.center, from:view.superview)
  27.    
  28.     textField = UITextField(frame: CGRect(x: 0, y: 0, width: 36, height: 26))
  29.     textField.text = "This is a UITextField"
  30.     textField.backgroundColor = UIColor.gray
  31.     textField.textAlignment = .center
  32.     textField.sizeToFit()
  33.     view.addSubview(textField)
  34.     textFielBasedSize = textField.bounds.size
  35.     textField.center = view.convert(view.center, from:view.superview)
  36.    
  37.     textField.isHidden = true
  38.     selectedView = label
  39.    
  40.     sizeSlider.minimumValue = 0
  41.     sizeSlider.maximumValue = 10
  42.   }
  43.  
  44.   @IBAction func labelAction(_ sender: UIButton) {
  45.     label.isHidden = false
  46.     textField.isHidden = true
  47.     selectedView = label
  48.   }
  49.  
  50.   @IBAction func textFieldAction(_ sender: UIButton) {
  51.     label.isHidden = true
  52.     textField.isHidden = false
  53.     selectedView = textField
  54.   }
  55.  
  56.   @IBAction func sizeChange(_ sender: UISlider) {
  57.     let scaleFactor = CGFloat(sender.value)
  58.     // CGAffineTransform will rastarize the text and make it blurry
  59. //    selectedView.transform = CGAffineTransform(scaleX: scaleFactor, y: scaleFactor)
  60.    
  61.     let baseSize = isLabelSelected ? labelBaseSize : textFielBasedSize
  62.     selectedView.bounds = CGRect(x: selectedView.bounds.origin.x,
  63.                                  y: selectedView.bounds.origin.y,
  64.                                  width: baseSize!.width * scaleFactor,
  65.                                  height: baseSize!.height * scaleFactor)
  66.   }
  67. }
Add Comment
Please, Sign In to add comment