Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- public extension UIDevice {
- var modelName: String {
- var systemInfo = utsname()
- uname(&systemInfo)
- let machineMirror = Mirror(reflecting: systemInfo.machine)
- let identifier = machineMirror.children.reduce("") { identifier, element in
- guard let value = element.value as? Int8 where value != 0 else { return identifier }
- return identifier + String(UnicodeScalar(UInt8(value)))
- }
- switch identifier {
- case "iPhone4,1": return "iPhone 4s"
- case "iPhone5,1", "iPhone5,2": return "iPhone 5"
- case "iPhone5,3", "iPhone5,4": return "iPhone 5c"
- case "iPhone6,1", "iPhone6,2": return "iPhone 5s"
- case "iPhone7,2": return "iPhone 6"
- case "iPhone7,1": return "iPhone 6 Plus"
- case "iPhone8,1": return "iPhone 6s"
- case "iPhone8,2": return "iPhone 6s Plus"
- case "iPhone9,1", "iPhone9,3": return "iPhone 7"
- case "iPhone9,2", "iPhone9,4": return "iPhone 7 Plus"
- case "iPhone8,4": return "iPhone SE"
- case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4":return "iPad 2"
- case "iPad3,1", "iPad3,2", "iPad3,3": return "iPad 3"
- case "iPad3,4", "iPad3,5", "iPad3,6": return "iPad 4"
- case "iPad4,1", "iPad4,2", "iPad4,3": return "iPad Air"
- case "iPad5,3", "iPad5,4": return "iPad Air 2"
- case "iPad2,5", "iPad2,6", "iPad2,7": return "iPad Mini"
- case "iPad4,4", "iPad4,5", "iPad4,6": return "iPad Mini 2"
- case "iPad4,7", "iPad4,8", "iPad4,9": return "iPad Mini 3"
- case "iPad5,1", "iPad5,2": return "iPad Mini 4"
- case "iPad6,3", "iPad6,4", "iPad6,7", "iPad6,8":return "iPad Pro"
- case "i386", "x86_64": return "Simulator"
- default: return identifier
- }
- }
- }
- let screenSize: CGRect = UIScreen.mainScreen().bounds
- class LeftMenu: UIViewController {
- var menuIsActive = false
- let x: CGFloat = 5
- let y: CGFloat = 60
- let height: CGFloat = 70
- let width: CGFloat = 350
- let size1_X: CGFloat = 5
- let size1_Y: CGFloat = 70
- let height1: CGFloat = 70
- let width1: CGFloat = 350
- let size2_X: CGFloat = 5
- let size2_Y: CGFloat = 70
- let height2: CGFloat = 70
- let width2: CGFloat = 350
- let size3_X: CGFloat = 5
- let size3_Y: CGFloat = 70
- let height3: CGFloat = 70
- let width3: CGFloat = 350
- let myView: UIView = {
- let view = UIView()
- view.backgroundColor = UIColor.whiteColor()
- return view
- }()
- func toggleMenu() {
- let backgroundImage = UIImage(named: "bgmenu")
- let backgroundImageView = UIImageView(image: backgroundImage)
- let userImageView = UIImageView()
- userImageView.backgroundColor = UIColor.whiteColor()
- userImageView.layer.cornerRadius = 30
- userImageView.clipsToBounds = true
- userImageView.layer.borderWidth = 2
- userImageView.layer.borderColor = UIColor(red: 255.0 / 255, green: 215.0 / 255, blue: 0 / 255, alpha: 1).CGColor
- let label = UILabel()
- label.numberOfLines = 0
- label.text = "КІРУ / ТІРКЕЛУ"
- label.textColor = UIColor.whiteColor()
- label.font = UIFont(name: "Helvetica", size: 18)
- label.userInteractionEnabled = true
- let mainLogo = UIImage(named: "homegray@1x-1")
- let mainImageView = UIImageView(image: mainLogo)
- mainImageView.backgroundColor = UIColor.whiteColor()
- let mainLabel = UILabel()
- mainLabel.numberOfLines = 0
- mainLabel.text = "БАСТЫ"
- mainLabel.textColor = UIColor.darkGrayColor()
- mainLabel.font = UIFont(name: "Helvetica", size: 18)
- let contentLogo = UIImage(named: "menugray@1x-1")
- let contentImageView = UIImageView(image: contentLogo)
- contentImageView.backgroundColor = UIColor.whiteColor()
- let contentLabel = UILabel()
- contentLabel.numberOfLines = 0
- contentLabel.text = "МАЗМҰНЫ"
- contentLabel.textColor = UIColor.darkGrayColor()
- contentLabel.font = UIFont(name: "Helvetica", size: 18)
- let favoriteLogo = UIImage(named: "favgray@1x-1")
- let favoriteImageView = UIImageView(image: favoriteLogo)
- favoriteImageView.backgroundColor = UIColor.whiteColor()
- let favoriteLabel = UILabel()
- favoriteLabel.numberOfLines = 0
- favoriteLabel.text = "ТАҢДАУЛЫЛАР"
- favoriteLabel.textColor = UIColor.darkGrayColor()
- favoriteLabel.font = UIFont(name: "Helvetica", size: 18)
- let offlineLabel = UILabel()
- offlineLabel.numberOfLines = 0
- offlineLabel.text = "ОФФЛАЙН (~2 ГБ)"
- offlineLabel.textColor = UIColor.darkGrayColor()
- let switcher = UISwitch()
- switch UIDevice.currentDevice().modelName {
- case "iPhone 6 Plus", "iPhone 6s Plus", "iPhone 7 Plus":
- backgroundImageView.frame = CGRect(x: 0, y: 70, width: 300, height: 100)
- userImageView.frame = CGRect(x: 30, y: 90, width: 60, height: 60)
- label.frame = CGRect(x: 97, y: 105, width: 135, height: 30)
- mainImageView.frame = CGRect(x: 50, y: 190, width: 27, height: 27)
- mainLabel.frame = CGRect(x: 95, y: 193, width: 135, height: 30)
- contentImageView.frame = CGRect(x: 50, y: 230, width: 27, height: 27)
- contentLabel.frame = CGRect(x: 95, y: 233, width: 135, height: 30)
- favoriteImageView.frame = CGRect(x: 51, y: 270, width: 27, height: 27)
- favoriteLabel.frame = CGRect(x: 95, y: 273, width: 140, height: 30)
- offlineLabel.frame = CGRect(x: 15, y: 480, width: 180, height: 30)
- offlineLabel.font = UIFont(name: "Helvetica", size: 20)
- switcher.frame = CGRect(x: 230, y: 480, width: 20, height: 20)
- print("Here 0")
- //Ставим "Simulator" для того чтобы тесировать на Симуляторе
- case "iPhone 6", "iPhone 6s", "iPhone 7", "Simulator":
- backgroundImageView.frame = CGRect(x: 0, y: 0, width: 350, height: 100)
- userImageView.frame = CGRect(x: 30, y: 25, width: 60, height: 60)
- label.frame = CGRect(x: 97, y: 35, width: 135, height: 30)
- mainImageView.frame = CGRect(x: 50, y: 190, width: 27, height: 27)
- mainLabel.frame = CGRect(x: 95, y: 193, width: 135, height: 30)
- contentImageView.frame = CGRect(x: 50, y: 230, width: 27, height: 27)
- contentLabel.frame = CGRect(x: 95, y: 233, width: 135, height: 30)
- favoriteImageView.frame = CGRect(x: 51, y: 270, width: 27, height: 27)
- favoriteLabel.frame = CGRect(x: 95, y: 273, width: 140, height: 30)
- offlineLabel.frame = CGRect(x: 15, y: 480, width: 180, height: 30)
- offlineLabel.font = UIFont(name: "Helvetica", size: 20)
- switcher.frame = CGRect(x: 230, y: 480, width: 20, height: 20)
- print("Here 1")
- case "iPhone 5", "iPhone 5c", "iPhone SE", "iPhone 5s":
- backgroundImageView.frame = CGRect(x: 0, y: 0, width: 300, height: 100)
- userImageView.frame = CGRect(x: 30, y: 20, width: 60, height: 60)
- label.frame = CGRect(x: 97, y: 32, width: 135, height: 30)
- mainImageView.frame = CGRect(x: 50, y: 120, width: 27, height: 27)
- mainLabel.frame = CGRect(x: 95, y: 123, width: 135, height: 30)
- contentImageView.frame = CGRect(x: 50, y: 160, width: 27, height: 27)
- contentLabel.frame = CGRect(x: 95, y: 163, width: 135, height: 30)
- favoriteImageView.frame = CGRect(x: 51, y: 200, width: 27, height: 27)
- favoriteLabel.frame = CGRect(x: 95, y: 203, width: 140, height: 30)
- offlineLabel.frame = CGRect(x: 15, y: 410, width: 180, height: 30)
- offlineLabel.font = UIFont(name: "Helvetica", size: 20)
- switcher.frame = CGRect(x: 230, y: 410, width: 20, height: 20)
- print("Here 2")
- default: break
- }
- menuIsActive = !menuIsActive
- if let window = UIApplication.sharedApplication().keyWindow {
- if menuIsActive {
- window.addSubview(myView)
- //myView.frame = CGRect(x: x, y: y, width: 350, height: window.frame.height - height)
- myView.addSubview(backgroundImageView)
- backgroundImageView.addSubview(userImageView)
- backgroundImageView.addSubview(label)
- myView.addSubview(mainImageView)
- myView.addSubview(mainLabel)
- myView.addSubview(contentImageView)
- myView.addSubview(contentLabel)
- myView.addSubview(favoriteImageView)
- myView.addSubview(favoriteLabel)
- myView.addSubview(offlineLabel)
- myView.addSubview(switcher)
- UIView.animateWithDuration(0.3, delay: 0, options: .TransitionFlipFromLeft, animations: {
- switch UIDevice.currentDevice().modelName {
- case "iPhone 6 Plus", "iPhone 6s Plus", "iPhone 7 Plus":
- self.myView.frame = CGRect(x: self.size3_X, y: self.size3_Y, width: 350, height: window.frame.height - self.height)
- print("Here 0")
- case "iPhone 6", "iPhone 6s", "iPhone 7", "Simulator":
- self.myView.frame = CGRect(x: 5, y: 80, width: 350, height: 550)
- backgroundImageView.frame = CGRect(x: 0, y: 0, width: 350, height: 100)
- print("Here 1")
- case "iPhone 5", "iPhone 5c", "iPhone SE", "iPhone 5s":
- self.myView.frame = CGRect(x: self.size1_X, y: self.size1_Y, width: 300, height: 450)
- backgroundImageView.frame = CGRect(x: 0, y: 0, width: 300, height: 100)
- print("Here 2")
- default: break
- }
- }, completion: nil)
- } else {
- UIView.animateWithDuration(0.3, delay: 0, options: .CurveEaseInOut, animations: {
- print("Left Menu close")
- self.myView.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
- backgroundImageView.center.x -= window.bounds.width
- }, completion: nil)
- //{ finished in self.myView.removeFromSuperview() }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement