BTUIKPayPalWordmarkVectorArtView.m 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. #import "BTUIKPayPalWordmarkVectorArtView.h"
  2. @interface BTUIKPayPalWordmarkVectorArtView ()
  3. @property (nonatomic, assign) BOOL includePadding;
  4. @end
  5. @implementation BTUIKPayPalWordmarkVectorArtView
  6. - (instancetype)initWithPadding {
  7. self = [super init];
  8. if (self) {
  9. self.includePadding = YES;
  10. [self setupWithArtDimensions:CGSizeMake(200, 50)];
  11. }
  12. return self;
  13. }
  14. - (instancetype)init {
  15. self = [super init];
  16. if (self) {
  17. [self setupWithArtDimensions:CGSizeMake(284.0f, 80.0f)];
  18. }
  19. return self;
  20. }
  21. - (void)setupWithArtDimensions:(CGSize)artDimensions {
  22. self.artDimensions = artDimensions;
  23. self.opaque = NO;
  24. }
  25. - (void)drawArt
  26. {
  27. if (!self.includePadding) {
  28. [self drawWithoutPadding];
  29. } else {
  30. [self drawWithPadding];
  31. }
  32. }
  33. - (void)drawWithoutPadding {
  34. }
  35. - (void)drawWithPadding {
  36. //// Color Declarations
  37. UIColor* color2 = [UIColor colorWithRed: 1 green: 1 blue: 1 alpha: 0.68];
  38. UIColor* color3 = [UIColor colorWithRed: 1 green: 1 blue: 1 alpha: 0.7];
  39. UIColor* color1 = [UIColor colorWithRed: 1 green: 1 blue: 1 alpha: 1];
  40. //// Page-1
  41. {
  42. //// paypal_monogram-wordmark-3d-copy
  43. {
  44. //// Group 4
  45. {
  46. //// logo
  47. {
  48. //// wordmark
  49. {
  50. //// Bezier Drawing
  51. UIBezierPath* bezierPath = [UIBezierPath bezierPath];
  52. [bezierPath moveToPoint: CGPointMake(81.45, 22.34)];
  53. [bezierPath addCurveToPoint: CGPointMake(78.78, 24) controlPoint1: CGPointMake(81.2, 24) controlPoint2: CGPointMake(79.97, 24)];
  54. [bezierPath addLineToPoint: CGPointMake(78.1, 24)];
  55. [bezierPath addLineToPoint: CGPointMake(78.58, 20.9)];
  56. [bezierPath addCurveToPoint: CGPointMake(78.95, 20.57) controlPoint1: CGPointMake(78.61, 20.71) controlPoint2: CGPointMake(78.76, 20.57)];
  57. [bezierPath addLineToPoint: CGPointMake(79.26, 20.57)];
  58. [bezierPath addCurveToPoint: CGPointMake(81.23, 21.05) controlPoint1: CGPointMake(80.07, 20.57) controlPoint2: CGPointMake(80.83, 20.57)];
  59. [bezierPath addCurveToPoint: CGPointMake(81.45, 22.34) controlPoint1: CGPointMake(81.46, 21.33) controlPoint2: CGPointMake(81.54, 21.75)];
  60. [bezierPath closePath];
  61. [bezierPath moveToPoint: CGPointMake(80.93, 18)];
  62. [bezierPath addLineToPoint: CGPointMake(76.44, 18)];
  63. [bezierPath addCurveToPoint: CGPointMake(75.82, 18.54) controlPoint1: CGPointMake(76.13, 18) controlPoint2: CGPointMake(75.87, 18.23)];
  64. [bezierPath addLineToPoint: CGPointMake(74, 30.42)];
  65. [bezierPath addCurveToPoint: CGPointMake(74.37, 30.87) controlPoint1: CGPointMake(73.97, 30.66) controlPoint2: CGPointMake(74.14, 30.87)];
  66. [bezierPath addLineToPoint: CGPointMake(76.68, 30.87)];
  67. [bezierPath addCurveToPoint: CGPointMake(77.11, 30.49) controlPoint1: CGPointMake(76.89, 30.87) controlPoint2: CGPointMake(77.08, 30.71)];
  68. [bezierPath addLineToPoint: CGPointMake(77.63, 27.12)];
  69. [bezierPath addCurveToPoint: CGPointMake(78.24, 26.58) controlPoint1: CGPointMake(77.67, 26.81) controlPoint2: CGPointMake(77.93, 26.58)];
  70. [bezierPath addLineToPoint: CGPointMake(79.66, 26.58)];
  71. [bezierPath addCurveToPoint: CGPointMake(84.77, 22.17) controlPoint1: CGPointMake(82.62, 26.58) controlPoint2: CGPointMake(84.33, 25.1)];
  72. [bezierPath addCurveToPoint: CGPointMake(84.2, 19.18) controlPoint1: CGPointMake(84.98, 20.89) controlPoint2: CGPointMake(84.78, 19.89)];
  73. [bezierPath addCurveToPoint: CGPointMake(80.93, 18) controlPoint1: CGPointMake(83.56, 18.41) controlPoint2: CGPointMake(82.43, 18)];
  74. [bezierPath closePath];
  75. bezierPath.miterLimit = 4;
  76. bezierPath.usesEvenOddFillRule = YES;
  77. [color1 setFill];
  78. [bezierPath fill];
  79. //// Bezier 2 Drawing
  80. UIBezierPath* bezier2Path = [UIBezierPath bezierPath];
  81. [bezier2Path moveToPoint: CGPointMake(49.45, 22.34)];
  82. [bezier2Path addCurveToPoint: CGPointMake(46.78, 24) controlPoint1: CGPointMake(49.2, 24) controlPoint2: CGPointMake(47.97, 24)];
  83. [bezier2Path addLineToPoint: CGPointMake(46.1, 24)];
  84. [bezier2Path addLineToPoint: CGPointMake(46.58, 20.9)];
  85. [bezier2Path addCurveToPoint: CGPointMake(46.95, 20.57) controlPoint1: CGPointMake(46.6, 20.71) controlPoint2: CGPointMake(46.76, 20.57)];
  86. [bezier2Path addLineToPoint: CGPointMake(47.26, 20.57)];
  87. [bezier2Path addCurveToPoint: CGPointMake(49.23, 21.05) controlPoint1: CGPointMake(48.07, 20.57) controlPoint2: CGPointMake(48.83, 20.57)];
  88. [bezier2Path addCurveToPoint: CGPointMake(49.45, 22.34) controlPoint1: CGPointMake(49.46, 21.33) controlPoint2: CGPointMake(49.54, 21.75)];
  89. [bezier2Path closePath];
  90. [bezier2Path moveToPoint: CGPointMake(48.93, 18)];
  91. [bezier2Path addLineToPoint: CGPointMake(44.44, 18)];
  92. [bezier2Path addCurveToPoint: CGPointMake(43.82, 18.54) controlPoint1: CGPointMake(44.13, 18) controlPoint2: CGPointMake(43.87, 18.23)];
  93. [bezier2Path addLineToPoint: CGPointMake(42, 30.42)];
  94. [bezier2Path addCurveToPoint: CGPointMake(42.37, 30.87) controlPoint1: CGPointMake(41.97, 30.66) controlPoint2: CGPointMake(42.14, 30.87)];
  95. [bezier2Path addLineToPoint: CGPointMake(44.52, 30.87)];
  96. [bezier2Path addCurveToPoint: CGPointMake(45.13, 30.32) controlPoint1: CGPointMake(44.83, 30.87) controlPoint2: CGPointMake(45.09, 30.64)];
  97. [bezier2Path addLineToPoint: CGPointMake(45.62, 27.12)];
  98. [bezier2Path addCurveToPoint: CGPointMake(46.24, 26.58) controlPoint1: CGPointMake(45.67, 26.81) controlPoint2: CGPointMake(45.93, 26.58)];
  99. [bezier2Path addLineToPoint: CGPointMake(47.66, 26.58)];
  100. [bezier2Path addCurveToPoint: CGPointMake(52.77, 22.17) controlPoint1: CGPointMake(50.62, 26.58) controlPoint2: CGPointMake(52.33, 25.1)];
  101. [bezier2Path addCurveToPoint: CGPointMake(52.2, 19.18) controlPoint1: CGPointMake(52.97, 20.89) controlPoint2: CGPointMake(52.78, 19.89)];
  102. [bezier2Path addCurveToPoint: CGPointMake(48.93, 18) controlPoint1: CGPointMake(51.56, 18.41) controlPoint2: CGPointMake(50.43, 18)];
  103. [bezier2Path closePath];
  104. bezier2Path.miterLimit = 4;
  105. bezier2Path.usesEvenOddFillRule = YES;
  106. [color1 setFill];
  107. [bezier2Path fill];
  108. //// Bezier 3 Drawing
  109. UIBezierPath* bezier3Path = [UIBezierPath bezierPath];
  110. [bezier3Path moveToPoint: CGPointMake(59.17, 26.53)];
  111. [bezier3Path addCurveToPoint: CGPointMake(56.75, 28.64) controlPoint1: CGPointMake(58.97, 27.79) controlPoint2: CGPointMake(57.99, 28.64)];
  112. [bezier3Path addCurveToPoint: CGPointMake(55.3, 28.05) controlPoint1: CGPointMake(56.12, 28.64) controlPoint2: CGPointMake(55.62, 28.44)];
  113. [bezier3Path addCurveToPoint: CGPointMake(54.97, 26.49) controlPoint1: CGPointMake(54.98, 27.66) controlPoint2: CGPointMake(54.86, 27.1)];
  114. [bezier3Path addCurveToPoint: CGPointMake(57.38, 24.35) controlPoint1: CGPointMake(55.16, 25.23) controlPoint2: CGPointMake(56.15, 24.35)];
  115. [bezier3Path addCurveToPoint: CGPointMake(58.81, 24.96) controlPoint1: CGPointMake(57.99, 24.35) controlPoint2: CGPointMake(58.48, 24.56)];
  116. [bezier3Path addCurveToPoint: CGPointMake(59.17, 26.53) controlPoint1: CGPointMake(59.14, 25.36) controlPoint2: CGPointMake(59.27, 25.91)];
  117. [bezier3Path closePath];
  118. [bezier3Path moveToPoint: CGPointMake(62.17, 22.21)];
  119. [bezier3Path addLineToPoint: CGPointMake(60.02, 22.21)];
  120. [bezier3Path addCurveToPoint: CGPointMake(59.65, 22.54) controlPoint1: CGPointMake(59.84, 22.21) controlPoint2: CGPointMake(59.68, 22.35)];
  121. [bezier3Path addLineToPoint: CGPointMake(59.56, 23.15)];
  122. [bezier3Path addLineToPoint: CGPointMake(59.41, 22.93)];
  123. [bezier3Path addCurveToPoint: CGPointMake(56.87, 22) controlPoint1: CGPointMake(58.94, 22.23) controlPoint2: CGPointMake(57.9, 22)];
  124. [bezier3Path addCurveToPoint: CGPointMake(52.06, 26.46) controlPoint1: CGPointMake(54.49, 22) controlPoint2: CGPointMake(52.46, 23.86)];
  125. [bezier3Path addCurveToPoint: CGPointMake(52.87, 29.87) controlPoint1: CGPointMake(51.86, 27.76) controlPoint2: CGPointMake(52.15, 29)];
  126. [bezier3Path addCurveToPoint: CGPointMake(55.57, 31) controlPoint1: CGPointMake(53.52, 30.67) controlPoint2: CGPointMake(54.46, 31)];
  127. [bezier3Path addCurveToPoint: CGPointMake(58.55, 29.73) controlPoint1: CGPointMake(57.49, 31) controlPoint2: CGPointMake(58.55, 29.73)];
  128. [bezier3Path addLineToPoint: CGPointMake(58.46, 30.34)];
  129. [bezier3Path addCurveToPoint: CGPointMake(58.82, 30.79) controlPoint1: CGPointMake(58.42, 30.58) controlPoint2: CGPointMake(58.59, 30.79)];
  130. [bezier3Path addLineToPoint: CGPointMake(60.76, 30.79)];
  131. [bezier3Path addCurveToPoint: CGPointMake(61.38, 30.25) controlPoint1: CGPointMake(61.07, 30.79) controlPoint2: CGPointMake(61.33, 30.56)];
  132. [bezier3Path addLineToPoint: CGPointMake(62.54, 22.65)];
  133. [bezier3Path addCurveToPoint: CGPointMake(62.17, 22.21) controlPoint1: CGPointMake(62.58, 22.42) controlPoint2: CGPointMake(62.4, 22.21)];
  134. [bezier3Path closePath];
  135. bezier3Path.miterLimit = 4;
  136. bezier3Path.usesEvenOddFillRule = YES;
  137. [color1 setFill];
  138. [bezier3Path fill];
  139. //// Bezier 4 Drawing
  140. UIBezierPath* bezier4Path = [UIBezierPath bezierPath];
  141. [bezier4Path moveToPoint: CGPointMake(91.18, 26.53)];
  142. [bezier4Path addCurveToPoint: CGPointMake(88.75, 28.64) controlPoint1: CGPointMake(90.97, 27.79) controlPoint2: CGPointMake(89.99, 28.64)];
  143. [bezier4Path addCurveToPoint: CGPointMake(87.3, 28.05) controlPoint1: CGPointMake(88.12, 28.64) controlPoint2: CGPointMake(87.62, 28.44)];
  144. [bezier4Path addCurveToPoint: CGPointMake(86.97, 26.49) controlPoint1: CGPointMake(86.99, 27.66) controlPoint2: CGPointMake(86.87, 27.1)];
  145. [bezier4Path addCurveToPoint: CGPointMake(89.38, 24.35) controlPoint1: CGPointMake(87.16, 25.23) controlPoint2: CGPointMake(88.15, 24.35)];
  146. [bezier4Path addCurveToPoint: CGPointMake(90.81, 24.96) controlPoint1: CGPointMake(89.99, 24.35) controlPoint2: CGPointMake(90.48, 24.56)];
  147. [bezier4Path addCurveToPoint: CGPointMake(91.18, 26.53) controlPoint1: CGPointMake(91.14, 25.36) controlPoint2: CGPointMake(91.27, 25.91)];
  148. [bezier4Path closePath];
  149. [bezier4Path moveToPoint: CGPointMake(94.18, 22.21)];
  150. [bezier4Path addLineToPoint: CGPointMake(92.02, 22.21)];
  151. [bezier4Path addCurveToPoint: CGPointMake(91.65, 22.54) controlPoint1: CGPointMake(91.84, 22.21) controlPoint2: CGPointMake(91.68, 22.35)];
  152. [bezier4Path addLineToPoint: CGPointMake(91.56, 23.15)];
  153. [bezier4Path addLineToPoint: CGPointMake(91.41, 22.93)];
  154. [bezier4Path addCurveToPoint: CGPointMake(88.87, 22) controlPoint1: CGPointMake(90.94, 22.23) controlPoint2: CGPointMake(89.9, 22)];
  155. [bezier4Path addCurveToPoint: CGPointMake(84.06, 26.46) controlPoint1: CGPointMake(86.49, 22) controlPoint2: CGPointMake(84.46, 23.86)];
  156. [bezier4Path addCurveToPoint: CGPointMake(84.87, 29.87) controlPoint1: CGPointMake(83.86, 27.76) controlPoint2: CGPointMake(84.15, 29)];
  157. [bezier4Path addCurveToPoint: CGPointMake(87.58, 31) controlPoint1: CGPointMake(85.52, 30.67) controlPoint2: CGPointMake(86.46, 31)];
  158. [bezier4Path addCurveToPoint: CGPointMake(90.55, 29.73) controlPoint1: CGPointMake(89.49, 31) controlPoint2: CGPointMake(90.55, 29.73)];
  159. [bezier4Path addLineToPoint: CGPointMake(90.46, 30.34)];
  160. [bezier4Path addCurveToPoint: CGPointMake(90.83, 30.79) controlPoint1: CGPointMake(90.42, 30.58) controlPoint2: CGPointMake(90.6, 30.79)];
  161. [bezier4Path addLineToPoint: CGPointMake(92.77, 30.79)];
  162. [bezier4Path addCurveToPoint: CGPointMake(93.38, 30.25) controlPoint1: CGPointMake(93.07, 30.79) controlPoint2: CGPointMake(93.33, 30.56)];
  163. [bezier4Path addLineToPoint: CGPointMake(94.55, 22.65)];
  164. [bezier4Path addCurveToPoint: CGPointMake(94.18, 22.21) controlPoint1: CGPointMake(94.58, 22.42) controlPoint2: CGPointMake(94.41, 22.21)];
  165. [bezier4Path closePath];
  166. bezier4Path.miterLimit = 4;
  167. bezier4Path.usesEvenOddFillRule = YES;
  168. [color1 setFill];
  169. [bezier4Path fill];
  170. //// Bezier 5 Drawing
  171. UIBezierPath* bezier5Path = [UIBezierPath bezierPath];
  172. [bezier5Path moveToPoint: CGPointMake(73.02, 22)];
  173. [bezier5Path addLineToPoint: CGPointMake(70.86, 22)];
  174. [bezier5Path addCurveToPoint: CGPointMake(70.35, 22.28) controlPoint1: CGPointMake(70.66, 22) controlPoint2: CGPointMake(70.46, 22.11)];
  175. [bezier5Path addLineToPoint: CGPointMake(67.36, 26.81)];
  176. [bezier5Path addLineToPoint: CGPointMake(66.1, 22.46)];
  177. [bezier5Path addCurveToPoint: CGPointMake(65.5, 22) controlPoint1: CGPointMake(66.02, 22.19) controlPoint2: CGPointMake(65.78, 22)];
  178. [bezier5Path addLineToPoint: CGPointMake(63.37, 22)];
  179. [bezier5Path addCurveToPoint: CGPointMake(63.02, 22.51) controlPoint1: CGPointMake(63.12, 22) controlPoint2: CGPointMake(62.94, 22.26)];
  180. [bezier5Path addLineToPoint: CGPointMake(65.4, 29.72)];
  181. [bezier5Path addLineToPoint: CGPointMake(63.16, 32.97)];
  182. [bezier5Path addCurveToPoint: CGPointMake(63.47, 33.58) controlPoint1: CGPointMake(62.99, 33.23) controlPoint2: CGPointMake(63.16, 33.58)];
  183. [bezier5Path addLineToPoint: CGPointMake(65.63, 33.58)];
  184. [bezier5Path addCurveToPoint: CGPointMake(66.14, 33.31) controlPoint1: CGPointMake(65.83, 33.58) controlPoint2: CGPointMake(66.02, 33.48)];
  185. [bezier5Path addLineToPoint: CGPointMake(73.33, 22.61)];
  186. [bezier5Path addCurveToPoint: CGPointMake(73.02, 22) controlPoint1: CGPointMake(73.5, 22.35) controlPoint2: CGPointMake(73.33, 22)];
  187. [bezier5Path closePath];
  188. bezier5Path.miterLimit = 4;
  189. bezier5Path.usesEvenOddFillRule = YES;
  190. [color1 setFill];
  191. [bezier5Path fill];
  192. //// Bezier 6 Drawing
  193. UIBezierPath* bezier6Path = [UIBezierPath bezierPath];
  194. [bezier6Path moveToPoint: CGPointMake(96.85, 18.33)];
  195. [bezier6Path addLineToPoint: CGPointMake(95, 30.42)];
  196. [bezier6Path addCurveToPoint: CGPointMake(95.37, 30.87) controlPoint1: CGPointMake(94.97, 30.66) controlPoint2: CGPointMake(95.14, 30.87)];
  197. [bezier6Path addLineToPoint: CGPointMake(97.23, 30.87)];
  198. [bezier6Path addCurveToPoint: CGPointMake(97.84, 30.32) controlPoint1: CGPointMake(97.54, 30.87) controlPoint2: CGPointMake(97.8, 30.64)];
  199. [bezier6Path addLineToPoint: CGPointMake(99.66, 18.45)];
  200. [bezier6Path addCurveToPoint: CGPointMake(99.29, 18) controlPoint1: CGPointMake(99.7, 18.21) controlPoint2: CGPointMake(99.52, 18)];
  201. [bezier6Path addLineToPoint: CGPointMake(97.22, 18)];
  202. [bezier6Path addCurveToPoint: CGPointMake(96.85, 18.33) controlPoint1: CGPointMake(97.03, 18) controlPoint2: CGPointMake(96.88, 18.14)];
  203. [bezier6Path closePath];
  204. bezier6Path.miterLimit = 4;
  205. bezier6Path.usesEvenOddFillRule = YES;
  206. [color1 setFill];
  207. [bezier6Path fill];
  208. }
  209. //// monogram
  210. {
  211. //// Bezier 7 Drawing
  212. UIBezierPath* bezier7Path = [UIBezierPath bezierPath];
  213. [bezier7Path moveToPoint: CGPointMake(37.4, 24.5)];
  214. [bezier7Path addCurveToPoint: CGPointMake(37.48, 22.4) controlPoint1: CGPointMake(37.55, 23.71) controlPoint2: CGPointMake(37.57, 23)];
  215. [bezier7Path addCurveToPoint: CGPointMake(36.77, 20.78) controlPoint1: CGPointMake(37.38, 21.76) controlPoint2: CGPointMake(37.14, 21.22)];
  216. [bezier7Path addCurveToPoint: CGPointMake(35.91, 20.1) controlPoint1: CGPointMake(36.54, 20.52) controlPoint2: CGPointMake(36.25, 20.29)];
  217. [bezier7Path addCurveToPoint: CGPointMake(35.88, 18.08) controlPoint1: CGPointMake(36.02, 19.3) controlPoint2: CGPointMake(36.01, 18.64)];
  218. [bezier7Path addCurveToPoint: CGPointMake(35.08, 16.52) controlPoint1: CGPointMake(35.75, 17.51) controlPoint2: CGPointMake(35.49, 17)];
  219. [bezier7Path addCurveToPoint: CGPointMake(30.46, 15.02) controlPoint1: CGPointMake(34.23, 15.53) controlPoint2: CGPointMake(32.67, 15.02)];
  220. [bezier7Path addLineToPoint: CGPointMake(24.39, 15.02)];
  221. [bezier7Path addCurveToPoint: CGPointMake(23.55, 15.75) controlPoint1: CGPointMake(23.97, 15.02) controlPoint2: CGPointMake(23.62, 15.33)];
  222. [bezier7Path addLineToPoint: CGPointMake(21.03, 32.18)];
  223. [bezier7Path addCurveToPoint: CGPointMake(21.14, 32.6) controlPoint1: CGPointMake(21, 32.33) controlPoint2: CGPointMake(21.04, 32.48)];
  224. [bezier7Path addCurveToPoint: CGPointMake(21.52, 32.78) controlPoint1: CGPointMake(21.24, 32.71) controlPoint2: CGPointMake(21.37, 32.78)];
  225. [bezier7Path addLineToPoint: CGPointMake(25.29, 32.78)];
  226. [bezier7Path addLineToPoint: CGPointMake(25.03, 34.48)];
  227. [bezier7Path addCurveToPoint: CGPointMake(25.13, 34.84) controlPoint1: CGPointMake(25.01, 34.61) controlPoint2: CGPointMake(25.05, 34.74)];
  228. [bezier7Path addCurveToPoint: CGPointMake(25.46, 35) controlPoint1: CGPointMake(25.21, 34.94) controlPoint2: CGPointMake(25.33, 35)];
  229. [bezier7Path addLineToPoint: CGPointMake(28.62, 35)];
  230. [bezier7Path addCurveToPoint: CGPointMake(29.35, 34.36) controlPoint1: CGPointMake(28.99, 35) controlPoint2: CGPointMake(29.29, 34.73)];
  231. [bezier7Path addLineToPoint: CGPointMake(29.38, 34.19)];
  232. [bezier7Path addLineToPoint: CGPointMake(29.98, 30.33)];
  233. [bezier7Path addLineToPoint: CGPointMake(30.02, 30.11)];
  234. [bezier7Path addCurveToPoint: CGPointMake(30.79, 29.44) controlPoint1: CGPointMake(30.08, 29.72) controlPoint2: CGPointMake(30.4, 29.44)];
  235. [bezier7Path addLineToPoint: CGPointMake(31.26, 29.44)];
  236. [bezier7Path addCurveToPoint: CGPointMake(35.21, 28.34) controlPoint1: CGPointMake(32.88, 29.44) controlPoint2: CGPointMake(34.21, 29.07)];
  237. [bezier7Path addCurveToPoint: CGPointMake(36.57, 26.82) controlPoint1: CGPointMake(35.76, 27.95) controlPoint2: CGPointMake(36.21, 27.43)];
  238. [bezier7Path addCurveToPoint: CGPointMake(37.4, 24.5) controlPoint1: CGPointMake(36.95, 26.17) controlPoint2: CGPointMake(37.23, 25.39)];
  239. [bezier7Path closePath];
  240. bezier7Path.miterLimit = 4;
  241. bezier7Path.usesEvenOddFillRule = YES;
  242. [color2 setFill];
  243. [bezier7Path fill];
  244. //// Bezier 8 Drawing
  245. UIBezierPath* bezier8Path = [UIBezierPath bezierPath];
  246. [bezier8Path moveToPoint: CGPointMake(27.34, 20.29)];
  247. [bezier8Path addCurveToPoint: CGPointMake(27.91, 19.71) controlPoint1: CGPointMake(27.25, 19.81) controlPoint2: CGPointMake(27.41, 19.59)];
  248. [bezier8Path addCurveToPoint: CGPointMake(27.91, 19.12) controlPoint1: CGPointMake(27.73, 19.44) controlPoint2: CGPointMake(27.84, 19.41)];
  249. [bezier8Path addLineToPoint: CGPointMake(32.52, 19.12)];
  250. [bezier8Path addCurveToPoint: CGPointMake(34.25, 19.71) controlPoint1: CGPointMake(33.27, 19.41) controlPoint2: CGPointMake(33.8, 19.45)];
  251. [bezier8Path addCurveToPoint: CGPointMake(34.82, 19.71) controlPoint1: CGPointMake(34.41, 19.55) controlPoint2: CGPointMake(34.55, 19.58)];
  252. [bezier8Path addCurveToPoint: CGPointMake(34.82, 19.71) controlPoint1: CGPointMake(34.8, 19.63) controlPoint2: CGPointMake(34.93, 19.67)];
  253. [bezier8Path addCurveToPoint: CGPointMake(35.4, 19.71) controlPoint1: CGPointMake(35.11, 19.72) controlPoint2: CGPointMake(35.17, 19.74)];
  254. [bezier8Path addCurveToPoint: CGPointMake(35.98, 20.29) controlPoint1: CGPointMake(35.47, 19.84) controlPoint2: CGPointMake(35.69, 19.93)];
  255. [bezier8Path addCurveToPoint: CGPointMake(34.82, 16.76) controlPoint1: CGPointMake(36.13, 18.5) controlPoint2: CGPointMake(35.89, 17.45)];
  256. [bezier8Path addCurveToPoint: CGPointMake(30.22, 15) controlPoint1: CGPointMake(34.16, 15.45) controlPoint2: CGPointMake(32.53, 15)];
  257. [bezier8Path addLineToPoint: CGPointMake(24.46, 15)];
  258. [bezier8Path addCurveToPoint: CGPointMake(23.3, 15.59) controlPoint1: CGPointMake(23.96, 15) controlPoint2: CGPointMake(23.6, 15.32)];
  259. [bezier8Path addLineToPoint: CGPointMake(21, 32.06)];
  260. [bezier8Path addCurveToPoint: CGPointMake(21.58, 32.65) controlPoint1: CGPointMake(20.96, 32.36) controlPoint2: CGPointMake(21.2, 32.65)];
  261. [bezier8Path addLineToPoint: CGPointMake(25.03, 32.65)];
  262. [bezier8Path addLineToPoint: CGPointMake(26.18, 26.76)];
  263. [bezier8Path addLineToPoint: CGPointMake(27.34, 20.29)];
  264. [bezier8Path closePath];
  265. bezier8Path.miterLimit = 4;
  266. bezier8Path.usesEvenOddFillRule = YES;
  267. [color1 setFill];
  268. [bezier8Path fill];
  269. //// Bezier 9 Drawing
  270. UIBezierPath* bezier9Path = [UIBezierPath bezierPath];
  271. [bezier9Path moveToPoint: CGPointMake(35.4, 19.71)];
  272. [bezier9Path addCurveToPoint: CGPointMake(34.82, 19.12) controlPoint1: CGPointMake(35.01, 19.38) controlPoint2: CGPointMake(34.88, 19.35)];
  273. [bezier9Path addCurveToPoint: CGPointMake(34.25, 19.12) controlPoint1: CGPointMake(34.62, 19.29) controlPoint2: CGPointMake(34.49, 19.26)];
  274. [bezier9Path addCurveToPoint: CGPointMake(32.52, 19.12) controlPoint1: CGPointMake(33.87, 19.16) controlPoint2: CGPointMake(33.34, 19.12)];
  275. [bezier9Path addLineToPoint: CGPointMake(27.91, 19.12)];
  276. [bezier9Path addCurveToPoint: CGPointMake(27.91, 19.12) controlPoint1: CGPointMake(27.87, 19.12) controlPoint2: CGPointMake(27.76, 19.15)];
  277. [bezier9Path addCurveToPoint: CGPointMake(27.34, 19.71) controlPoint1: CGPointMake(27.43, 19.31) controlPoint2: CGPointMake(27.27, 19.53)];
  278. [bezier9Path addLineToPoint: CGPointMake(26.18, 26.76)];
  279. [bezier9Path addLineToPoint: CGPointMake(26.18, 26.76)];
  280. [bezier9Path addCurveToPoint: CGPointMake(26.76, 26.18) controlPoint1: CGPointMake(26.25, 26.32) controlPoint2: CGPointMake(26.61, 25.99)];
  281. [bezier9Path addLineToPoint: CGPointMake(29.06, 26.18)];
  282. [bezier9Path addCurveToPoint: CGPointMake(35.98, 20.29) controlPoint1: CGPointMake(32.35, 25.99) controlPoint2: CGPointMake(35.11, 24.49)];
  283. [bezier9Path addCurveToPoint: CGPointMake(35.98, 19.71) controlPoint1: CGPointMake(35.94, 20.02) controlPoint2: CGPointMake(35.96, 19.9)];
  284. [bezier9Path addCurveToPoint: CGPointMake(35.4, 19.71) controlPoint1: CGPointMake(35.77, 19.66) controlPoint2: CGPointMake(35.55, 19.56)];
  285. [bezier9Path addCurveToPoint: CGPointMake(35.4, 19.71) controlPoint1: CGPointMake(35.25, 19.46) controlPoint2: CGPointMake(35.19, 19.44)];
  286. [bezier9Path closePath];
  287. bezier9Path.miterLimit = 4;
  288. bezier9Path.usesEvenOddFillRule = YES;
  289. [color3 setFill];
  290. [bezier9Path fill];
  291. }
  292. }
  293. //// Rectangle Drawing
  294. CGRect rectangleRect = CGRectMake(106, 15, 79, 32);
  295. NSMutableParagraphStyle* rectangleStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
  296. [rectangleStyle setAlignment: NSTextAlignmentLeft];
  297. NSDictionary* rectangleFontAttributes = @{NSFontAttributeName: [UIFont fontWithName: @"HelveticaNeue-Bold" size: 16], NSForegroundColorAttributeName: color1, NSParagraphStyleAttributeName: rectangleStyle};
  298. [@"Check out" drawInRect: rectangleRect withAttributes: rectangleFontAttributes];
  299. }
  300. }
  301. }
  302. }
  303. - (void)updateConstraints {
  304. NSLayoutConstraint *aspectRatioConstraint = [NSLayoutConstraint constraintWithItem:self
  305. attribute:NSLayoutAttributeWidth
  306. relatedBy:NSLayoutRelationEqual
  307. toItem:self
  308. attribute:NSLayoutAttributeHeight
  309. multiplier:(self.artDimensions.width / self.artDimensions.height)
  310. constant:0.0f];
  311. aspectRatioConstraint.priority = UILayoutPriorityRequired;
  312. [self addConstraint:aspectRatioConstraint];
  313. [super updateConstraints];
  314. }
  315. - (UILayoutPriority)contentCompressionResistancePriorityForAxis:(__unused UILayoutConstraintAxis)axis {
  316. return UILayoutPriorityRequired;
  317. }
  318. @end