{"id":33513,"date":"2023-02-09T09:41:23","date_gmt":"2023-02-09T04:11:23","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/"},"modified":"2023-02-09T09:41:23","modified_gmt":"2023-02-09T04:11:23","slug":"solved-objective-c-star-wars-opening-crawl-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/","title":{"rendered":"[Solved] Objective-C &#8220;Star Wars&#8221; opening crawl [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-15501168\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"15501168\" data-parentid=\"15501055\" data-score=\"15\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>It is possible in Objective-C.<\/p>\n<p><strong>Only because I&#8217;m nice<\/strong><\/p>\n<p>We&#8217;ll start with a simple rotation and see what happens. If you build, you&#8217;ll see that we got a nice rotation but it doesn&#8217;t look realistic. We need to skew the perspective as well to get the real effect. <\/p>\n<pre><code>UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds];\n[textView setAutoresizingMask:UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth];\n[textView setBackgroundColor:[UIColor blueColor]];\n\n[textView setText:@\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\"];\n\n[textView setFont:[UIFont boldSystemFontOfSize:32.0]];\n[textView setTextAlignment:NSTextAlignmentCenter];\n\n\/\/ Rotate the text\n[textView.layer setTransform:CATransform3DMakeRotation(M_PI_4, 1.0, 0.0, 0.0)];\n\n\/\/ Now we need to skew the box so the bottom is wider than the top.\n\n[self.view addSubview:textView];\n<\/code><\/pre>\n<p><strong>Getting there!<\/strong><\/p>\n<p>Alright, after a bit of googling, we&#8217;ve figured out how to adjust the m34 value of <code>CATransform3D<\/code> to adjust the perspective we&#8217;re looking for. Also made the colors right! Build it and you&#8217;ll clearly see where we&#8217;re going. But we need to adjust the frame to make sure it fills the screen. Then we could add some automated scrolling animation so we don&#8217;t have to scroll with our finger.<\/p>\n<pre><code>\/\/ Learn the basics of matrix transforms: http:\/\/markpospesel.wordpress.com\/tag\/catransform3d\/\n\nUITextView *textView = [[UITextView alloc] initWithFrame:CGRectInset(self.view.bounds, 32.0, 32.0)];\n[textView setAutoresizingMask:UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth];\n[textView setBackgroundColor:[UIColor blackColor]];\n[textView setTextColor:[UIColor yellowColor]];\n[textView setEditable:NO];\n\n[textView setText:@\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\"];\n\n[textView setFont:[UIFont boldSystemFontOfSize:36.0]];\n[textView setTextAlignment:NSTextAlignmentCenter];\n\n\/\/ Start with a blank transform\nCATransform3D blankTransform = CATransform3DIdentity;\n\n\/\/ Skew the text\nblankTransform.m34 = -1.0 \/ 500.0;\n\n\/\/ Rotate the text\nblankTransform = CATransform3DRotate(blankTransform, 45.0f * M_PI \/ 180.0f, 1.0f, 0.0f, 0.0f);\n\n\/\/ Set the transform\n[textView.layer setTransform:blankTransform];\n\n[self.view addSubview:textView];\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">7<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Objective-C &#8220;Star Wars&#8221; opening crawl [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] It is possible in Objective-C. Only because I&#8217;m nice We&#8217;ll start with a simple rotation and see what happens. If you build, you&#8217;ll see that we got a nice rotation but it doesn&#8217;t look realistic. We need to skew the perspective as well to get the real effect. UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds]; &#8230; <a title=\"[Solved] Objective-C &#8220;Star Wars&#8221; opening crawl [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\" aria-label=\"More on [Solved] Objective-C &#8220;Star Wars&#8221; opening crawl [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[471,1446,469,470],"class_list":["post-33513","post","type-post","status-publish","format-standard","hentry","category-solved","tag-ios","tag-ipad","tag-iphone","tag-objective-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Objective-C &quot;Star Wars&quot; opening crawl [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Objective-C &quot;Star Wars&quot; opening crawl [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] It is possible in Objective-C. Only because I&#8217;m nice We&#8217;ll start with a simple rotation and see what happens. If you build, you&#8217;ll see that we got a nice rotation but it doesn&#8217;t look realistic. We need to skew the perspective as well to get the real effect. UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds]; ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-09T04:11:23+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Objective-C &#8220;Star Wars&#8221; opening crawl [closed]\",\"datePublished\":\"2023-02-09T04:11:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\"},\"wordCount\":143,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"ios\",\"ipad\",\"iphone\",\"objective-c\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\",\"name\":\"[Solved] Objective-C \\\"Star Wars\\\" opening crawl [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2023-02-09T04:11:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Objective-C &#8220;Star Wars&#8221; opening crawl [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Objective-C \"Star Wars\" opening crawl [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Objective-C \"Star Wars\" opening crawl [closed] - JassWeb","og_description":"[ad_1] It is possible in Objective-C. Only because I&#8217;m nice We&#8217;ll start with a simple rotation and see what happens. If you build, you&#8217;ll see that we got a nice rotation but it doesn&#8217;t look realistic. We need to skew the perspective as well to get the real effect. UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds]; ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/","og_site_name":"JassWeb","article_published_time":"2023-02-09T04:11:23+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Objective-C &#8220;Star Wars&#8221; opening crawl [closed]","datePublished":"2023-02-09T04:11:23+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/"},"wordCount":143,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["ios","ipad","iphone","objective-c"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/","name":"[Solved] Objective-C \"Star Wars\" opening crawl [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2023-02-09T04:11:23+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-objective-c-star-wars-opening-crawl-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Objective-C &#8220;Star Wars&#8221; opening crawl [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/33513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=33513"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/33513\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=33513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=33513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=33513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}