{"id":3209,"date":"2014-10-24T00:31:13","date_gmt":"2014-10-23T15:31:13","guid":{"rendered":"http:\/\/lepetit-prince.net\/ios\/?p=3209"},"modified":"2014-10-24T00:31:13","modified_gmt":"2014-10-23T15:31:13","slug":"%e4%b8%89%e8%a7%92%e4%b8%89%e8%a7%92%e4%b8%89%e8%a7%92","status":"publish","type":"post","link":"https:\/\/lepetit-prince.net\/ios\/?p=3209","title":{"rendered":"\u4e09\u89d2\u4e09\u89d2\u4e09\u89d2"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/-O4yr9as-jqg\/VEketKvQgWI\/AAAAAAAAC0c\/w_7oQDe9Leg\/s288\/Screen%2520Shot%25202014-10-24%2520at%252012.28.27%2520AM.png\" width=\"288\" height=\"182\" alt=\"iPhone\u3055\u3093\u304b\u304f\u3055\u3093\u304b\u304f\u3055\u3093\u304b\u304f\" class=\"alignnone\" \/><br \/>\n<\/p>\n<p>\n\u4e09\u89d2\u304c\u30c9\u30f3\u30c9\u30f3\u5897\u3048\u3066\u3044\u304fiPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63cf\u3044\u3066\u307f\u307e\u3059\u3002\n<\/p>\n<p><!--more--><\/p>\n<p>\n<iframe loading=\"lazy\" width=\"467\" height=\"350\" src=\"https:\/\/www.youtube.com\/embed\/1WFa7iIuMkQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">import<\/span> UIKit<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">class<\/span> ViewController: <span style=\"color: #703daa\">UIViewController<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> count = <span style=\"color: #272ad8\">1<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">let<\/span> rate : <span style=\"color: #703daa\">CGFloat<\/span> = <span style=\"color: #272ad8\">20.0<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">weak<\/span> <span style=\"color: #bb2ca2\">var<\/span> contentView : <span style=\"color: #703daa\">UIView<\/span>?<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">override<\/span> <span style=\"color: #bb2ca2\">func<\/span> viewDidLoad() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">super<\/span>.<span style=\"color: #3d1d81\">viewDidLoad<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>view<span style=\"color: #000000\">.<\/span>backgroundColor<span style=\"color: #000000\"> = <\/span>UIColor<span style=\"color: #000000\">.<\/span><span style=\"color: #3d1d81\">orangeColor<\/span><span style=\"color: #000000\">()<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> v = <span style=\"color: #703daa\">UIView<\/span>(frame: <span style=\"color: #703daa\">CGRectZero<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>v.<\/span><span style=\"color: #703daa\">center<\/span><span style=\"color: #000000\"> = <\/span>CGPointMake<span style=\"color: #000000\">(<\/span>CGRectGetMidX<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">view<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">bounds<\/span><span style=\"color: #000000\">)<\/span>\/<span style=\"color: #272ad8\">3.0<\/span><span style=\"color: #000000\">, <\/span>CGRectGetMidY<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">view<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">bounds<\/span><span style=\"color: #000000\">))<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #3d1d81\">addSubview<\/span>(v)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">contentView<\/span> = v<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> tri = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #31595d\">createTriangle<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> btn = <span style=\"color: #703daa\">UIView<\/span>(frame: <span style=\"color: #3d1d81\">CGRectMake<\/span>(<span style=\"color: #3d1d81\">CGRectGetMidX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) <span style=\"color: #3d1d81\">+<\/span> <span style=\"color: #272ad8\">40<\/span>, <span style=\"color: #3d1d81\">CGRectGetMidY<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) <span style=\"color: #3d1d81\">+<\/span> <span style=\"color: #272ad8\">40<\/span>, <span style=\"color: #272ad8\">80<\/span>, <span style=\"color: #272ad8\">80<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>btn.<\/span>backgroundColor<span style=\"color: #000000\"> = <\/span>UIColor<span style=\"color: #000000\">.<\/span><span style=\"color: #3d1d81\">whiteColor<\/span><span style=\"color: #000000\">()<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>btn.<\/span>layer<span style=\"color: #000000\">.<\/span>cornerRadius<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">40<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #3d1d81\">addSubview<\/span>(btn)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">func<\/span> createTriangle() -&gt; <span style=\"color: #703daa\">CAShapeLayer<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">let<\/span> l = <span style=\"color: #3d1d81\">CGRectGetMaxX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> path = <span style=\"color: #703daa\">UIBezierPath<\/span>(triangleLength: l, center: <span style=\"color: #703daa\">CGPointZero<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> triangle = <span style=\"color: #703daa\">CAShapeLayer<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>triangle.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">&#8220;tri&#8221;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>triangle.<span style=\"color: #703daa\">path<\/span> = path.<span style=\"color: #703daa\">CGPath<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>triangle.<span style=\"color: #703daa\">fillColor<\/span> = <span style=\"color: #703daa\">UIColor<\/span>.<span style=\"color: #3d1d81\">yellowColor<\/span>().<span style=\"color: #703daa\">CGColor<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">contentView<\/span>?.<span style=\"color: #703daa\">layer<\/span>.<span style=\"color: #3d1d81\">addSublayer<\/span>(triangle)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">return<\/span> triangle<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">override<\/span> <span style=\"color: #bb2ca2\">func<\/span> touchesBegan(touches: <span style=\"color: #703daa\">NSSet<\/span>, withEvent event: <span style=\"color: #703daa\">UIEvent<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">let<\/span> rate = <span style=\"color: #703daa\">CGFloat<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">count<\/span>) <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #703daa\">CGFloat<\/span>(++<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">count<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">contentView<\/span>!.<span style=\"color: #703daa\">transform<\/span> = <span style=\"color: #3d1d81\">CGAffineTransformScale<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">contentView<\/span>!.<span style=\"color: #703daa\">transform<\/span>, rate, rate)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">let<\/span> l = <span style=\"color: #3d1d81\">CGRectGetMaxX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> triangles = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">contentView<\/span>!.<span style=\"color: #703daa\">layer<\/span>.<span style=\"color: #703daa\">sublayers<\/span>.<span style=\"color: #3d1d81\">filter<\/span>(){$0.name == <span style=\"color: #d12f1b\">&#8220;tri&#8221;<\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">for<\/span> i <span style=\"color: #bb2ca2\">in<\/span> <span style=\"color: #272ad8\">0<\/span>..&lt;triangles.<span style=\"color: #703daa\">count<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">let<\/span> item = triangles[i] <span style=\"color: #bb2ca2\">as<\/span> <span style=\"color: #703daa\">CAShapeLayer<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>item.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">&#8220;used tri&#8221;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>item.<span style=\"color: #703daa\">fillColor<\/span> = <span style=\"color: #703daa\">UIColor<\/span>.<span style=\"color: #3d1d81\">whiteColor<\/span>().<span style=\"color: #703daa\">CGColor<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">if<\/span> i == <span style=\"color: #272ad8\">0<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> triB = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #31595d\">createTriangle<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>triB.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #703daa\">CGPoint<\/span>(x: item.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">x<\/span> <span style=\"color: #3d1d81\">+<\/span> l<span style=\"color: #3d1d81\">\/<\/span><span style=\"color: #272ad8\">2.0<\/span>, y: item.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">y<\/span> <span style=\"color: #3d1d81\">&#8211;<\/span> l)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> triA = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #31595d\">createTriangle<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>triA.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #703daa\">CGPoint<\/span>(x: item.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">x<\/span> <span style=\"color: #3d1d81\">+<\/span> l, y: item.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">y<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">contentView<\/span><span style=\"color: #000000\">?.<\/span><span style=\"color: #703daa\">layer<\/span><span style=\"color: #000000\">.<\/span>setNeedsDisplay<span style=\"color: #000000\">()<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #bb2ca2\">extension<\/span><span style=\"color: #000000\"> <\/span>UIBezierPath<span style=\"color: #000000\"> {<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">convenience<\/span> <span style=\"color: #bb2ca2\">init<\/span>(triangleLength: <span style=\"color: #703daa\">CGFloat<\/span>, center: <span style=\"color: #703daa\">CGPoint<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #bb2ca2\">init<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">let<\/span> squareRoot = <span style=\"color: #703daa\">CGFloat<\/span>(<span style=\"color: #3d1d81\">sqrt<\/span>(<span style=\"color: #272ad8\">3.0<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">let<\/span> altitude = (squareRoot <span style=\"color: #3d1d81\">*<\/span> triangleLength) <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #3d1d81\">moveToPoint<\/span>(<span style=\"color: #703daa\">CGPoint<\/span>(x: center.<span style=\"color: #703daa\">x<\/span>, y:center.<span style=\"color: #703daa\">y<\/span> <span style=\"color: #3d1d81\">&#8211;<\/span> altitude <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #3d1d81\">addLineToPoint<\/span>(<span style=\"color: #703daa\">CGPoint<\/span>(x: center.<span style=\"color: #703daa\">x<\/span> <span style=\"color: #3d1d81\">+<\/span> triangleLength <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span>, y: center.<span style=\"color: #703daa\">y<\/span> <span style=\"color: #3d1d81\">+<\/span> altitude <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #3d1d81\">addLineToPoint<\/span>(<span style=\"color: #703daa\">CGPoint<\/span>(x: center.<span style=\"color: #703daa\">x<\/span> <span style=\"color: #3d1d81\">&#8211;<\/span> triangleLength <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span>, y: center.<span style=\"color: #703daa\">y<\/span> <span style=\"color: #3d1d81\">+<\/span> altitude <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">2.0<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #3d1d81\">closePath<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e09\u89d2\u304c\u30c9\u30f3\u30c9\u30f3\u5897\u3048\u3066\u3044\u304fiPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3211,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[125,24,124],"class_list":["post-3209","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-ios8","tag-iphone","tag-swift"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/lepetit-prince.net\/ios\/wp-content\/uploads\/9a1cf4f85ce817aac61a0c1dd0ec6863.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3209"}],"version-history":[{"count":1,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3209\/revisions"}],"predecessor-version":[{"id":3210,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3209\/revisions\/3210"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/media\/3211"}],"wp:attachment":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}