{"id":1133,"date":"2009-12-07T11:34:09","date_gmt":"2009-12-07T10:34:09","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=1133"},"modified":"2011-01-14T22:41:40","modified_gmt":"2011-01-14T21:41:40","slug":"t015-celle-personalizzate-per-le-nostre-table","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/t015-celle-personalizzate-per-le-nostre-table\/","title":{"rendered":"T#015 &#8211; Celle personalizzate per le nostre Table"},"content":{"rendered":"<p>La Table View \u00e8 uno degli elementi pi\u00f9 utilizzati in iPhone OS. Basti soltanto pensare a due applicazioni di primaria importanza Mail e Contatti che entrambi utilizzano questo potente strumento.<\/p>\n<p>In taluni casi per\u00f2 si ha la necessit\u00e0 di personalizzare le celle della nostra tabella.<\/p>\n<p>Vedremo quindi oggi come personalizzare l&#8217;aspetto delle celle della nostra tabella (partiamo quindi dal presupposto che abbiate gi\u00e0 una tabella pronta e funzionante con i vostri elementi caricati).<\/p>\n<p>Apriamo il nostro Xcode e creiamo un nuovo NIB (File -&gt; New File -&gt; User Interface -&gt; Empty Xib) denominato CustomCell.<!--more--><\/p>\n<p>Apriamo il nostro file .xib\u00a0 e dalla libreria scegliamo il componente Table View Cell.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image1-300x175.png\" alt=\"image1\" width=\"300\" height=\"175\" class=\"alignnone size-medium wp-image-1189\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image1-300x175.png 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image1-1024x597.png 1024w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image1.png 1256w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Inseriremo quindi all\u2019interno di questa cella gli elementi che ci occorrono (nel nostro esempio inseriremo due Text Label ma \u00e8 possibile inserire qualsiasi elemento come immagini, label, testo e cos\u00ec via).<\/p>\n<p>Selezioniamo ora il File&#8217;s Owner del nostro Xib e dal menu accediamo all&#8217;Identity Ispector<br \/>\nInseriamo il nome della nostra classe ( quella dove abbiamo creato l&#8217;IBOutlet per intenderci ).<br \/>\nAccediamo ora al Connection Inspector  e nel Referencing Outlets colleghiamo cella personalizzata alla nostra Table View Cell.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image3.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image3-300x179.png\" alt=\"image3\" width=\"300\" height=\"179\" class=\"alignnone size-medium wp-image-1190\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image3-300x179.png 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image3-1024x611.png 1024w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image3.png 1253w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<\/center><\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image4.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image4-300x175.png\" alt=\"image4\" width=\"300\" height=\"175\" class=\"alignnone size-medium wp-image-1191\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image4-300x175.png 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image4-1024x599.png 1024w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image4.png 1228w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Una volta completata questa parte chiudiamo il file Xib.<\/p>\n<p>Ritorniamo quindi al codice originario della nostra tabella ed in particolare al file .h<br \/>\nDichiariamo un elemento UITableViewCell e denominiamolo *cellapersonalizzata<\/p>\n<pre lang=\"objc\" escaped=\"true\">\r\nIBOutlet UITableViewCell *cellapersonalizzata;\r\n<\/pre>\n<p>Accediamo al .m della nostra classe  e sostituiamo nel metodo cellForRowAtIndexPath il seguente codice:<\/p>\n<pre lang=\"objc\" escaped=\"true\">\r\nif (cell == nil){\r\n\t[[NSBundle mainBundle] loadNibNamed:@\"CustomCell\" owner:self options:NULL];\r\n\tcell=cellapersonalizzata;\r\n}\r\n<\/pre>\n<p>In ultima analisi sar\u00e0 necessario assegnare il valore delle nostre stringhe alle due nuove Label create nello XIB personalizzo.<br \/>\nAccediamo allora al file XIB della nostra cella personalizzata.<br \/>\nSelezioniamo la label e nel Attribute Inspector al campo Tag inseriamo rispettivamente 1 e 2 (per la prima e seconda label).<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image2-300x174.png\" alt=\"image2\" width=\"300\" height=\"174\" class=\"alignnone size-medium wp-image-1192\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image2-300x174.png 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image2-1024x594.png 1024w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/12\/image2.png 1227w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Ritorniamo al .m della nostra tabella ed inseriamo il seguente codice:<\/p>\n<pre lang=\"objc\" escaped=\"true\">\r\n\tUILabel *titleLabel = (UILabel *)[cell viewWithTag:1];\r\n\ttitleLabel.text = [lista objectAtIndex:indexPath.row];\r\n\tUILabel *subtitleLabel = (UILabel *)[cell viewWithTag:2];\r\n        subtitleLabel.text = [sottotitolo objectAtIndex:indexPath.row];\r\n<\/pre>\n<p>Il gioco \u00e8 fatto \ud83d\ude00<\/p>\n<p>Alla prossima \ud83d\ude42<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.av-shop.it\/vmchk\/Cavi-e-accessori-MAC\/View-all-products.html\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/01\/AvShop_Banner.jpg\" alt=\"AvShop Banner\" title=\"AvShop_Banner\" width=\"400\" height=\"60\" class=\"aligncenter size-full wp-image-1917\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/01\/AvShop_Banner.jpg 400w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/01\/AvShop_Banner-300x45.jpg 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><br \/>\n<\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La Table View \u00e8 uno degli elementi pi\u00f9 utilizzati in iPhone OS. Basti soltanto pensare a due&#8230;<\/p>\n","protected":false},"author":46,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[5,4,1,27,23],"class_list":["post-1133","post","type-post","status-publish","format-standard","hentry","category-tutorial-pratici","tag-objective-c","tag-programmazione","tag-tutorial-pratici","tag-uitableview","tag-xcode"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/1133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=1133"}],"version-history":[{"count":13,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/1133\/revisions"}],"predecessor-version":[{"id":5612,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/1133\/revisions\/5612"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=1133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=1133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=1133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}