Skip to content

Instantly share code, notes, and snippets.

@sashalondon
Created May 7, 2015 21:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sashalondon/3d34d7f1d3aa9d19308e to your computer and use it in GitHub Desktop.
Save sashalondon/3d34d7f1d3aa9d19308e to your computer and use it in GitHub Desktop.
Day 17 Homework
//
// ViewController.swift
// multiplicationTable
//
// Created by Sasha Akhavan-Zanjani on 06/05/2015.
// Copyright (c) 2015 Sasha Akhavan-Zanjani. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UITextViewDelegate {
// create properties
@IBOutlet var numberSlider: UISlider!
@IBOutlet var numberLabel: UILabel!
@IBOutlet var textView: UITextView!
var numberBarView: UIView!
var sliderBarView: UIView!
var number: Int = 7
var minValue = 1
var maxValue = 20
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// setup ui code
textView.delegate = self
createMultiplcationTableUI()
}
func createMultiplcationTableUI(){
// size information (screen size)
println("UIScreen Bounds: \(UIScreen.mainScreen().bounds)")
println("UIScreen Scale: \(UIScreen.mainScreen().scale)")
// screen height
// screen width
let screenWidth = UIScreen.mainScreen().bounds.size.width
let screenHeight = UIScreen.mainScreen().bounds.size.height
// text label
// numberLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 60, height: 60))
// numberLabel.backgroundColor = UIColor.orangeColor()
numberLabel.text = "\(number)"
// numberLabel.textAlignment = NSTextAlignment.Center
// numberLabel.font = UIFont.boldSystemFontOfSize(40)
numberLabel.layer.cornerRadius = 10
numberLabel.clipsToBounds = true
}
// view.addSubview(numberLabel)
// view behind text label:
// let statusBarHeight = UIApplication.sharedApplication().statusBarFrame.height
//
// numberBarView = UIView(frame: CGRect(x: 0, y: statusBarHeight, width: screenWidth, height: 80))
// numberBarView.backgroundColor = UIColor.darkGrayColor()
//
// numberBarView.addSubview(numberLabel)
// numberLabel.center = CGPoint(x: numberBarView.bounds.size.width / 2, y: numberBarView.bounds.size.height / 2)
//
// slider view
// sliderBarView = UIView(frame: CGRect(x: 0, y: numberBarView.frame.origin.y + numberBarView.frame.height, width: screenWidth, height: 40))
// sliderBarView.backgroundColor = UIColor.lightGrayColor()
//
// let sliderBarEndY = sliderBarView.frame.origin.y
// let sliderBarStartY = sliderBarEndY - sliderBarView.frame.size.height
//
// sliderBarView.frame.origin.y = sliderBarStartY
// animate
//
// UIView.animateWithDuration(1.5, delay: 1.0, usingSpringWithDamping: 1, initialSpringVelocity: 0.0, options: nil, animations: {
// self.sliderBarView.frame.origin.y = sliderBarEndY
//
// }, completion: nil)
//
// view.addSubview(sliderBarView)
// view.addSubview(numberBarView)
// sliderBarView.addSubview(numberSlider)
//
// // target/ action to connect event
//
// numberSlider.addTarget(self, action: Selector("numberSliderChanged:"), forControlEvents: UIControlEvents.ValueChanged)
// text View
// let textAreaY = sliderBarView.frame.origin.y + sliderBarView.frame.size.height
// let textAreaHeight = screenHeight - textAreaY
//
// textView = UITextView(frame: CGRect(x: 0, y: textAreaY, width: screenWidth, height: textAreaHeight))
//// textView.backgroundColor = UIColor.blueColor()
func generateMultiplicationTable(value: Int) -> String {
var output = ""
for i in minValue...maxValue {
output += "\(i) x \(value) = \(i * value)\n"
}
return output
}
@IBAction func SliderAction(sender: UISlider) {
number = Int(sender.value)
numberLabel.text = "\(number)"
textView.text = "\(generateMultiplicationTable(number))"
// textView.text = "line 1\nline 2"
textView.font = UIFont.systemFontOfSize(15)
textView.textAlignment = NSTextAlignment.Center
textView.editable = false
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment