<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Виталий Иванов &#187; UITableView</title>
	<atom:link href="http://wicharek.name/tags/uitableview/feed" rel="self" type="application/rss+xml" />
	<link>http://wicharek.name</link>
	<description>Разработчик игр и мобильных приложений</description>
	<lastBuildDate>Wed, 01 Feb 2012 08:47:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>iPhone SDK Hint: перемещение элементов в UITableView</title>
		<link>http://wicharek.name/blog/iphone-sdk-hint-peremescheniye-elementov-v-uitableview</link>
		<comments>http://wicharek.name/blog/iphone-sdk-hint-peremescheniye-elementov-v-uitableview#comments</comments>
		<pubDate>Sat, 27 Jun 2009 08:56:06 +0000</pubDate>
		<dc:creator>wicharek</dc:creator>
				<category><![CDATA[Информационные технологии]]></category>
		<category><![CDATA[Планета Developers.org.ua]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[UITableView]]></category>
		<category><![CDATA[подсказки]]></category>

		<guid isPermaLink="false">http://wicharek.name/?p=289</guid>
		<description><![CDATA[UITableView можно настроить так, чтобы пользователь имел возможность менять элементы таблицы местами, перетаскивая их. Естественно, на эти перемещения программа должна реагировать, внося соответствующие изменения в структуры данных, отображаемых в таблице. Как использовать этот функционал достаточно внятно описано в документации, но &#8230; <a href="http://wicharek.name/blog/iphone-sdk-hint-peremescheniye-elementov-v-uitableview">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>UITableView можно настроить так, чтобы пользователь имел возможность менять элементы таблицы местами, перетаскивая их. Естественно, на эти перемещения программа должна реагировать, внося соответствующие изменения в структуры данных, отображаемых в таблице.</p>
<p>Как использовать этот функционал достаточно внятно описано в документации, но есть небольшой нюанс. Если просто задать:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">cell.showsReorderControl <span style="color: #002200;">=</span> <span style="color: #a61390;">YES</span>;</pre></div></div>

<p>для каждой UITableViewCell (и предварительно выставить для таблицы свойство editing в YES), то ничего не измениться. Для того, чтобы у ячеек таблицы действительно появился контрол, позволяющий перетаскивание, <strong>необходимо</strong> у UITableViewDataSource определить следующие методы:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">BOOL</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableview canMoveRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath <span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">return</span> <span style="color: #a61390;">YES</span>;	
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView moveRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>fromIndexPath 
	toIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>toIndexPath <span style="color: #002200;">&#123;</span>
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>Они в любом случае понадобятся для обработки перемещений, но подводный камень тут в том, что если их не будет, то ничего не заработает, что может вызвать трудности, если вы используете эту фичу впервые. В документации этот факт явно не указан.</p>
<p> <img src="http://wicharek.name/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=289" width="1" height="1" style="display: none;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://wicharek.name/blog/iphone-sdk-hint-peremescheniye-elementov-v-uitableview/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

