Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.37 KB | None | 0 0
  1. import UIKit
  2.  
  3. public extension UIDevice {
  4.  
  5. var modelName: String {
  6. var systemInfo = utsname()
  7. uname(&systemInfo)
  8. let machineMirror = Mirror(reflecting: systemInfo.machine)
  9. let identifier = machineMirror.children.reduce("") { identifier, element in
  10. guard let value = element.value as? Int8 where value != 0 else { return identifier }
  11. return identifier + String(UnicodeScalar(UInt8(value)))
  12. }
  13.  
  14. switch identifier {
  15. case "iPhone4,1": return "iPhone 4s"
  16. case "iPhone5,1", "iPhone5,2": return "iPhone 5"
  17. case "iPhone5,3", "iPhone5,4": return "iPhone 5c"
  18. case "iPhone6,1", "iPhone6,2": return "iPhone 5s"
  19. case "iPhone7,2": return "iPhone 6"
  20. case "iPhone7,1": return "iPhone 6 Plus"
  21. case "iPhone8,1": return "iPhone 6s"
  22. case "iPhone8,2": return "iPhone 6s Plus"
  23. case "iPhone9,1", "iPhone9,3": return "iPhone 7"
  24. case "iPhone9,2", "iPhone9,4": return "iPhone 7 Plus"
  25. case "iPhone8,4": return "iPhone SE"
  26. case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4":return "iPad 2"
  27. case "iPad3,1", "iPad3,2", "iPad3,3": return "iPad 3"
  28. case "iPad3,4", "iPad3,5", "iPad3,6": return "iPad 4"
  29. case "iPad4,1", "iPad4,2", "iPad4,3": return "iPad Air"
  30. case "iPad5,3", "iPad5,4": return "iPad Air 2"
  31. case "iPad2,5", "iPad2,6", "iPad2,7": return "iPad Mini"
  32. case "iPad4,4", "iPad4,5", "iPad4,6": return "iPad Mini 2"
  33. case "iPad4,7", "iPad4,8", "iPad4,9": return "iPad Mini 3"
  34. case "iPad5,1", "iPad5,2": return "iPad Mini 4"
  35. case "iPad6,3", "iPad6,4", "iPad6,7", "iPad6,8":return "iPad Pro"
  36. case "i386", "x86_64": return "Simulator"
  37. default: return identifier
  38. }
  39. }
  40. }
  41.  
  42. let screenSize: CGRect = UIScreen.mainScreen().bounds
  43.  
  44.  
  45. class LeftMenu: UIViewController {
  46.  
  47. var menuIsActive = false
  48. let x: CGFloat = 5
  49. let y: CGFloat = 60
  50. let height: CGFloat = 70
  51. let width: CGFloat = 350
  52.  
  53. let size1_X: CGFloat = 5
  54. let size1_Y: CGFloat = 70
  55. let height1: CGFloat = 70
  56. let width1: CGFloat = 350
  57.  
  58. let size2_X: CGFloat = 5
  59. let size2_Y: CGFloat = 70
  60. let height2: CGFloat = 70
  61. let width2: CGFloat = 350
  62.  
  63. let size3_X: CGFloat = 5
  64. let size3_Y: CGFloat = 70
  65. let height3: CGFloat = 70
  66. let width3: CGFloat = 350
  67.  
  68.  
  69. let myView: UIView = {
  70.  
  71. let view = UIView()
  72. view.backgroundColor = UIColor.whiteColor()
  73.  
  74. return view
  75. }()
  76.  
  77.  
  78. func toggleMenu() {
  79.  
  80. let backgroundImage = UIImage(named: "bgmenu")
  81. let backgroundImageView = UIImageView(image: backgroundImage)
  82.  
  83. let userImageView = UIImageView()
  84. userImageView.backgroundColor = UIColor.whiteColor()
  85. userImageView.layer.cornerRadius = 30
  86. userImageView.clipsToBounds = true
  87. userImageView.layer.borderWidth = 2
  88. userImageView.layer.borderColor = UIColor(red: 255.0 / 255, green: 215.0 / 255, blue: 0 / 255, alpha: 1).CGColor
  89.  
  90. let label = UILabel()
  91. label.numberOfLines = 0
  92. label.text = "КІРУ / ТІРКЕЛУ"
  93. label.textColor = UIColor.whiteColor()
  94. label.font = UIFont(name: "Helvetica", size: 18)
  95. label.userInteractionEnabled = true
  96.  
  97.  
  98. let mainLogo = UIImage(named: "homegray@1x-1")
  99. let mainImageView = UIImageView(image: mainLogo)
  100. mainImageView.backgroundColor = UIColor.whiteColor()
  101.  
  102. let mainLabel = UILabel()
  103. mainLabel.numberOfLines = 0
  104. mainLabel.text = "БАСТЫ"
  105. mainLabel.textColor = UIColor.darkGrayColor()
  106. mainLabel.font = UIFont(name: "Helvetica", size: 18)
  107.  
  108. let contentLogo = UIImage(named: "menugray@1x-1")
  109. let contentImageView = UIImageView(image: contentLogo)
  110. contentImageView.backgroundColor = UIColor.whiteColor()
  111.  
  112. let contentLabel = UILabel()
  113. contentLabel.numberOfLines = 0
  114. contentLabel.text = "МАЗМҰНЫ"
  115. contentLabel.textColor = UIColor.darkGrayColor()
  116. contentLabel.font = UIFont(name: "Helvetica", size: 18)
  117.  
  118. let favoriteLogo = UIImage(named: "favgray@1x-1")
  119. let favoriteImageView = UIImageView(image: favoriteLogo)
  120. favoriteImageView.backgroundColor = UIColor.whiteColor()
  121.  
  122. let favoriteLabel = UILabel()
  123. favoriteLabel.numberOfLines = 0
  124. favoriteLabel.text = "ТАҢДАУЛЫЛАР"
  125. favoriteLabel.textColor = UIColor.darkGrayColor()
  126. favoriteLabel.font = UIFont(name: "Helvetica", size: 18)
  127.  
  128. let offlineLabel = UILabel()
  129. offlineLabel.numberOfLines = 0
  130. offlineLabel.text = "ОФФЛАЙН (~2 ГБ)"
  131. offlineLabel.textColor = UIColor.darkGrayColor()
  132.  
  133. let switcher = UISwitch()
  134.  
  135. switch UIDevice.currentDevice().modelName {
  136.  
  137. case "iPhone 6 Plus", "iPhone 6s Plus", "iPhone 7 Plus":
  138.  
  139. backgroundImageView.frame = CGRect(x: 0, y: 70, width: 300, height: 100)
  140.  
  141. userImageView.frame = CGRect(x: 30, y: 90, width: 60, height: 60)
  142.  
  143. label.frame = CGRect(x: 97, y: 105, width: 135, height: 30)
  144.  
  145. mainImageView.frame = CGRect(x: 50, y: 190, width: 27, height: 27)
  146. mainLabel.frame = CGRect(x: 95, y: 193, width: 135, height: 30)
  147.  
  148. contentImageView.frame = CGRect(x: 50, y: 230, width: 27, height: 27)
  149. contentLabel.frame = CGRect(x: 95, y: 233, width: 135, height: 30)
  150.  
  151. favoriteImageView.frame = CGRect(x: 51, y: 270, width: 27, height: 27)
  152. favoriteLabel.frame = CGRect(x: 95, y: 273, width: 140, height: 30)
  153.  
  154. offlineLabel.frame = CGRect(x: 15, y: 480, width: 180, height: 30)
  155. offlineLabel.font = UIFont(name: "Helvetica", size: 20)
  156.  
  157. switcher.frame = CGRect(x: 230, y: 480, width: 20, height: 20)
  158. print("Here 0")
  159.  
  160. //Ставим "Simulator" для того чтобы тесировать на Симуляторе
  161. case "iPhone 6", "iPhone 6s", "iPhone 7", "Simulator":
  162.  
  163. backgroundImageView.frame = CGRect(x: 0, y: 0, width: 350, height: 100)
  164.  
  165. userImageView.frame = CGRect(x: 30, y: 25, width: 60, height: 60)
  166.  
  167. label.frame = CGRect(x: 97, y: 35, width: 135, height: 30)
  168.  
  169. mainImageView.frame = CGRect(x: 50, y: 190, width: 27, height: 27)
  170. mainLabel.frame = CGRect(x: 95, y: 193, width: 135, height: 30)
  171.  
  172. contentImageView.frame = CGRect(x: 50, y: 230, width: 27, height: 27)
  173. contentLabel.frame = CGRect(x: 95, y: 233, width: 135, height: 30)
  174.  
  175. favoriteImageView.frame = CGRect(x: 51, y: 270, width: 27, height: 27)
  176. favoriteLabel.frame = CGRect(x: 95, y: 273, width: 140, height: 30)
  177.  
  178. offlineLabel.frame = CGRect(x: 15, y: 480, width: 180, height: 30)
  179. offlineLabel.font = UIFont(name: "Helvetica", size: 20)
  180.  
  181. switcher.frame = CGRect(x: 230, y: 480, width: 20, height: 20)
  182. print("Here 1")
  183.  
  184. case "iPhone 5", "iPhone 5c", "iPhone SE", "iPhone 5s":
  185.  
  186. backgroundImageView.frame = CGRect(x: 0, y: 0, width: 300, height: 100)
  187.  
  188. userImageView.frame = CGRect(x: 30, y: 20, width: 60, height: 60)
  189.  
  190. label.frame = CGRect(x: 97, y: 32, width: 135, height: 30)
  191.  
  192. mainImageView.frame = CGRect(x: 50, y: 120, width: 27, height: 27)
  193. mainLabel.frame = CGRect(x: 95, y: 123, width: 135, height: 30)
  194.  
  195. contentImageView.frame = CGRect(x: 50, y: 160, width: 27, height: 27)
  196. contentLabel.frame = CGRect(x: 95, y: 163, width: 135, height: 30)
  197.  
  198. favoriteImageView.frame = CGRect(x: 51, y: 200, width: 27, height: 27)
  199. favoriteLabel.frame = CGRect(x: 95, y: 203, width: 140, height: 30)
  200.  
  201. offlineLabel.frame = CGRect(x: 15, y: 410, width: 180, height: 30)
  202. offlineLabel.font = UIFont(name: "Helvetica", size: 20)
  203.  
  204. switcher.frame = CGRect(x: 230, y: 410, width: 20, height: 20)
  205. print("Here 2")
  206. default: break
  207.  
  208. }
  209.  
  210.  
  211. menuIsActive = !menuIsActive
  212.  
  213. if let window = UIApplication.sharedApplication().keyWindow {
  214.  
  215. if menuIsActive {
  216.  
  217. window.addSubview(myView)
  218.  
  219. //myView.frame = CGRect(x: x, y: y, width: 350, height: window.frame.height - height)
  220.  
  221. myView.addSubview(backgroundImageView)
  222. backgroundImageView.addSubview(userImageView)
  223. backgroundImageView.addSubview(label)
  224. myView.addSubview(mainImageView)
  225. myView.addSubview(mainLabel)
  226. myView.addSubview(contentImageView)
  227. myView.addSubview(contentLabel)
  228. myView.addSubview(favoriteImageView)
  229. myView.addSubview(favoriteLabel)
  230. myView.addSubview(offlineLabel)
  231. myView.addSubview(switcher)
  232.  
  233.  
  234. UIView.animateWithDuration(0.3, delay: 0, options: .TransitionFlipFromLeft, animations: {
  235.  
  236. switch UIDevice.currentDevice().modelName {
  237.  
  238. case "iPhone 6 Plus", "iPhone 6s Plus", "iPhone 7 Plus":
  239. self.myView.frame = CGRect(x: self.size3_X, y: self.size3_Y, width: 350, height: window.frame.height - self.height)
  240. print("Here 0")
  241.  
  242. case "iPhone 6", "iPhone 6s", "iPhone 7", "Simulator":
  243. self.myView.frame = CGRect(x: 5, y: 80, width: 350, height: 550)
  244. backgroundImageView.frame = CGRect(x: 0, y: 0, width: 350, height: 100)
  245. print("Here 1")
  246.  
  247. case "iPhone 5", "iPhone 5c", "iPhone SE", "iPhone 5s":
  248. self.myView.frame = CGRect(x: self.size1_X, y: self.size1_Y, width: 300, height: 450)
  249. backgroundImageView.frame = CGRect(x: 0, y: 0, width: 300, height: 100)
  250. print("Here 2")
  251. default: break
  252.  
  253. }
  254. }, completion: nil)
  255.  
  256. } else {
  257.  
  258. UIView.animateWithDuration(0.3, delay: 0, options: .CurveEaseInOut, animations: {
  259.  
  260. print("Left Menu close")
  261.  
  262. self.myView.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
  263.  
  264. backgroundImageView.center.x -= window.bounds.width
  265.  
  266. }, completion: nil)
  267. //{ finished in self.myView.removeFromSuperview() }
  268. }
  269. }
  270. }
  271. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement