<?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>Notes of a Developer &#187; objective-c</title>
	<atom:link href="http://www.developers-life.com/tag/objective-c/feed" rel="self" type="application/rss+xml" />
	<link>http://www.developers-life.com</link>
	<description>Develop on Objective-C, UIKit, C, OpenGL for  iPhone, iPad, Mac OS X</description>
	<lastBuildDate>Sun, 05 Sep 2010 16:29:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>UML диаграммы в Xcode</title>
		<link>http://www.developers-life.com/create-uml-models-in-xcode.html</link>
		<comments>http://www.developers-life.com/create-uml-models-in-xcode.html#comments</comments>
		<pubDate>Sat, 12 Jun 2010 15:03:36 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[others]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[xCode]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1031</guid>
		<description><![CDATA[На написание данного поста меня с подвигла недавняя задача! Мне нужно было для записки и слайдов дипломного проекта предоставить UML диаграммы. Сначала по гуглил и сразу попал на страницу одной софтины, которая называется MacTranslator, забегая на перед, т.к. многие могут просто не дочитать, НЕ РЕКОМЕНДУЮ ее покапать, хотя вряд ли ее кто и купит из [...]]]></description>
			<content:encoded><![CDATA[<p>На написание данного поста меня с подвигла недавняя задача! Мне нужно было для записки и слайдов дипломного проекта предоставить UML диаграммы. Сначала по гуглил и сразу попал на страницу одной софтины, которая называется MacTranslator, забегая на перед, т.к. многие могут просто не дочитать, НЕ РЕКОМЕНДУЮ ее покапать, хотя вряд ли ее кто и купит из читателей и простых серферов веба, т.к. софтина стоит 465$, если не ошибаюсь :)</p>
<p>Небольшое отступление:<em><br />
<span style="color: #808080;">С Xcode средой разработки я знаком уже почти 2 года, и с версиями ниже 3-ей не работал. Многое уже освоил, но занимаюсь изучением возможностей данной среды далее. Считаю, что много интересного я еще не знаю! </span></em></p>
<p>Далее я нашел много интересного программного обеспечения, но ни один из продуктов мне не пришелся по вкусу и функционалу, всего 2 продукта поддерживали Objective-C, что весьма печально. В итоге я начал рисовать вручную и когда зашел в Xcode меня осенило, что я зря провел время на поиски! На сегодняшний день Xcode может все сделать за вас! Как давно есть этот функционал я не задавался вопросом, но по моим предположениям и по скриншотам, могу предположить что довольна таки давно, примерно с 2006 года точно! Судя по <a href="http://developer.apple.com/macosx/xcode2.html" target="_blank">данному документу</a>!</p>
<p>Немного еще поискав по <a href="http://developer.apple.com/mac/search/search.php" target="_blank">девелоперской</a> части сайта , наткнулся на <a href="http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/XCodeDesignTools/Introduction/Introduction.html#//apple_ref/doc/uid/TP40006858-SW1" target="_blank">Introduction to Xcode Design Tools for Class Modeling</a></p>
<p>Кратко о том как это делается, на одном из семплов от Apple, к примеру &#8220;QuartzDemo&#8221;:</p>
<p>1. Добавляем новый фаил &#8220;Class Model&#8221;<br />
<a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.42.52-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1032" title="Добавление файла в Xcode для отображения UML из исходного кода Objective-C, UML from Objective-C source code" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.42.52-PM-300x227.png" alt="Добавление файла в Xcode для отображения UML из исходного кода Objective-C, UML from Objective-C source code" width="300" height="227" /></a></p>
<p><span id="more-1031"></span>2. Добавляем в него файлы и нажимаем &#8220;Finish&#8221;<br />
<a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.43.36-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1033" title="Create Class Model" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.43.36-PM-300x227.png" alt="Create Class Model" width="300" height="227" /></a></p>
<p>3. В итоге мы увидим UML диаграммы, но они будут немного не наглядно выстраены, это легко поправимо, результат:</p>
<p><a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.26-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1034" title="UML Xcode" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.26-PM-300x192.png" alt="UML Xcode" width="300" height="192" /></a><br />
<a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.41-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1035" title="UML Xcode" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.41-PM-300x192.png" alt="UML Xcode" width="300" height="192" /></a></p>
<p>В каждом блоке можно развернуть Properties и Operations! Из каждого элемента можно легко перейти к участку кода!</p>
<p>Рекомендую использовать для наглядности. Очень помогает когда возвращаешся к старому проекту. Плюсов очень много.</p>
<p>Хочу сказать, что все оказалось очень просто и довольна таки красиво, вот к примеру мои UML диаграммы на стадии разработки одного из моих проектов, текст специально мелкий, чтоб не возможно было прочитать :)</p>
<p><img class="alignnone size-medium wp-image-1036" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.17.27-PM-300x179.png" alt="" width="300" height="179" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/create-uml-models-in-xcode.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UIImage and Memory</title>
		<link>http://www.developers-life.com/uiimage-and-memory.html</link>
		<comments>http://www.developers-life.com/uiimage-and-memory.html#comments</comments>
		<pubDate>Thu, 10 Jun 2010 11:43:22 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[OOP]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIKit]]></category>
		<category><![CDATA[Ukraine]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1023</guid>
		<description><![CDATA[+[UIImage imageNamed:]
• Reads the ﬁle, uncompresses it, caches result
• Cached copy of data is kept even if the UIImage is deallocated
• Low memory condition causes cache to be purged.
• No direct control over when cache is purged.
• Use for small frequently drawn images.
+[UIImage imageWithContentsOfFile:]
• Just reads enough of ﬁle to determine if it can open [...]]]></description>
			<content:encoded><![CDATA[<p>+[UIImage imageNamed:]<br />
• Reads the ﬁle, uncompresses it, caches result<br />
• Cached copy of data is kept even if the UIImage is deallocated<br />
• Low memory condition causes cache to be purged.<br />
• No direct control over when cache is purged.<br />
• Use for small frequently drawn images.</p>
<p>+[UIImage imageWithContentsOfFile:]<br />
• Just reads enough of ﬁle to determine if it can open the ﬁle.<br />
• Reads and uncompresses the ﬁle each time it draws. Uses uncompressed size worth of memory only temporarily.<br />
• Assigning a UIImage created this way to a UIImageView or as the contents of a CALayer also causes it to read and uncompress the ﬁle. The UIImageView or CALayer keep the expanded version.<br />
<span id="more-1023"></span><br />
Memory Usage (in MB) 8.6 MB image used with UIImageView</p>
<table border="0" style="filter:none;font-size:12pt; border: 1px solid;">
<tr>
<td></td>
<td >imageNamed</td>
<td >imageWithContentsofFile</td>
</tr>
<tr>
<td >Initial</td>
<td>2.46</td>
<td>2.46</td>
</tr>
<tr>
<td>Load UIImage</td>
<td>11.12</td>
<td>2.51</td>
</tr>
<tr>
<td>Assign to UIImageView</td>
<td>11.09</td>
<td>11.09</td>
</tr>
<tr>
<td>Remove from UIImageView</td>
<td>11.12</td>
<td>2.51</td>
</tr>
</table>
<p>Memory Usage (in MB) 8.6 MB image used with UIView subclass (stored in instance variable and drawn with drawinRect: )</p>
<table border="0" style="filter:none; border: 1px solid;">
<tbody>
<tr>
<td></td>
<td>imageNamed</td>
<td>imageWithContentsofFile</td>
</tr>
<tr>
<td>Initial</td>
<td>2.73</td>
<td>2.73</td>
</tr>
<tr>
<td>Load UIImage</td>
<td>11.38</td>
<td>2.78</td>
</tr>
<tr>
<td>Assign to UIImageView</td>
<td>11.81</td>
<td>3.20</td>
</tr>
<tr>
<td>Remove from UIImageView</td>
<td>11.84</td>
<td>3.04</td>
</tr>
</tbody>
</table>
<p>Спасибо за некоторые пояснения Андрею Копаневу :)</p>
<p><a href="https://docs.google.com/fileview?id=0B2KSahvz-4DXOTFhM2Y5MzQtODkyZC00N2ExLWE0MWQtNjI2N2NiYTBkNzZh&amp;hl=ru">И вот этому документу</a> &#8211; Robert Clair</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/uiimage-and-memory.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good book!</title>
		<link>http://www.developers-life.com/good-book.html</link>
		<comments>http://www.developers-life.com/good-book.html#comments</comments>
		<pubDate>Tue, 08 Jun 2010 21:04:05 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=999</guid>
		<description><![CDATA[Do you have a great idea for a graphics-intensive iPhone or iPad application, but don&#8217;t know how to bring it to life? This book offers the perfect solution: a crash course on the OpenGL graphics library with an overview of iPhone 3D development. Whether you&#8217;re an experienced OpenGL developer looking to build iPhone apps for [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://covers.oreilly.com/images/9780596804831/cat.gif" alt="" width="180" height="236" />Do you have a great idea for a graphics-intensive iPhone or iPad application, but don&#8217;t know how to bring it to life? This book offers the perfect solution: a crash course on the OpenGL graphics library with an overview of iPhone 3D development. Whether you&#8217;re an experienced OpenGL developer looking to build iPhone apps for the first time, or an iPhone developer wanting to learn sophisticated graphics, iPhone 3D Programming addresses both in one concise, easy-to-use guide.</p>
<p>What does it take to build an iPhone app with stunning 3D graphics? This book will show you how to apply OpenGL graphics programming techniques to any device running the iPhone OS &#8212; including the iPad and iPod Touch &#8212; with no iPhone development or 3D graphics experience required. iPhone 3D Programming provides clear step-by-step instructions, as well as lots of practical advice, for using the iPhone SDK and OpenGL.<br />
<span id="more-999"></span><br />
You&#8217;ll build several graphics programs &#8212; progressing from simple to more complex examples &#8212; that focus on lighting, textures, blending, augmented reality, optimization for performance and speed, and much more. All you need to get started is a solid understanding of C++ and a great idea for an app.</p>
<p>    * Learn fundamental graphics concepts, including transformation matrices, quaternions, and more<br />
    * Get set up for iPhone development with the Xcode environment<br />
    * Become familiar with versions 1.1 and 2.0 of the OpenGL ES API, and learn to use vertex buffer objects, lighting, texturing, and shaders<br />
    * Use the iPhone&#8217;s touch screen, compass, and accelerometer to build interactivity into graphics applications<br />
    * Build iPhone graphics applications such as a 3D wireframe viewer, a simple augmented reality application, a spring system simulation, and more</p>
<p>This book received valuable community input through O&#8217;Reilly&#8217;s Open Feedback Publishing System (OFPS). Learn more at </p>
<p><noindex><a href="http://oreilly.com/catalog/9780596804831" target="blank">Buy Book</a></p>
<p><a href="http://iphone-3d-programming.labs.oreilly.com/" target="blank">Free for online read</a></p>
<p></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/good-book.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make gradient on iPhone/iPad</title>
		<link>http://www.developers-life.com/make-gradient-on-iphoneipad.html</link>
		<comments>http://www.developers-life.com/make-gradient-on-iphoneipad.html#comments</comments>
		<pubDate>Sun, 30 May 2010 18:57:09 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Gradient]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UIKit]]></category>
		<category><![CDATA[UITabBar]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=983</guid>
		<description><![CDATA[It&#8217;s easy! As of iPhone SDK 3.0, custom gradients can be implemented very easily,  without subclassing or images, by using the new CAGradientLayer
add framework
#import &#60; QuartzCore/QuartzCore.h&#62;

so, example:


or
UIView *myTabView = &#91;&#91;UIView alloc&#93; initWithFrame:frame&#93;;
&#160; &#160; CAGradientLayer *gradient = &#91;CAGradientLayer layer&#93;;
&#160; &#160; gradient.frame = myTabView.bounds;
&#160; &#160; gradient.colors = &#91;NSArray arrayWithObjects:
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s easy! As of iPhone SDK 3.0, custom gradients can be implemented very easily,  without subclassing or images, by using the new CAGradientLayer</p>
<p>add framework</p>
<div class="codecolorer-container objc" style="height:35px;"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="co1">#import &lt; QuartzCore/QuartzCore.h&gt;</span></div></li>
</ol></div></div>
<p>so, example:</p>
<p><a href="http://gyazo.com/7c6b82b7e31568c52a4b267e4f91c78b.png" target="_blank"><img class="alignnone" title="make custom gradient on iPhone, iPad" src="http://gyazo.com/7c6b82b7e31568c52a4b267e4f91c78b.png" alt="" width="448" height="160" /></a><br />
<span id="more-983"></span><br />
or</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1">UIView <span class="sy0">*</span>myTabView <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>UIView alloc<span class="br0">&#93;</span> initWithFrame<span class="sy0">:</span>frame<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CAGradientLayer <span class="sy0">*</span>gradient <span class="sy0">=</span> <span class="br0">&#91;</span>CAGradientLayer layer<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; gradient.frame <span class="sy0">=</span> myTabView.bounds;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; gradient.colors <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSArray</span> arrayWithObjects<span class="sy0">:</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor colorWithRed<span class="sy0">:</span><span class="nu0">0.1</span> green<span class="sy0">:</span><span class="nu0">0.1</span> blue<span class="sy0">:</span><span class="nu0">0.1</span> alpha<span class="sy0">:</span><span class="nu0">0.8</span> <span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor colorWithRed<span class="sy0">:</span><span class="nu0">0.1</span> green<span class="sy0">:</span><span class="nu0">0.1</span> blue<span class="sy0">:</span><span class="nu0">0.1</span> alpha<span class="sy0">:</span><span class="nu0">0.8</span> <span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor colorWithRed<span class="sy0">:</span><span class="nu0">0.1</span> green<span class="sy0">:</span><span class="nu0">0.1</span> blue<span class="sy0">:</span><span class="nu0">0.1</span> alpha<span class="sy0">:</span><span class="nu0">0.8</span> <span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor blackColor<span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor blackColor<span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span>, <span class="kw2">nil</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>myTabView.layer insertSublayer<span class="sy0">:</span>gradient atIndex<span class="sy0">:</span><span class="nu0">0</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span><span class="br0">&#91;</span>self.tabBarController tabBar<span class="br0">&#93;</span> insertSubview<span class="sy0">:</span>myTabView &nbsp;atIndex<span class="sy0">:</span><span class="nu0">0</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>myTabView &nbsp;release<span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p>Result:<br />
<img class="alignnone" title="custom gradient in tabbar" src="http://gyazo.com/06c6dc8a8b574ecb3c2879c3d5226fc5.png" alt="" width="348" height="223" /></p>
<p>or, nice example with use Core Graphics to draw the gradient</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>drawRect<span class="sy0">:</span><span class="br0">&#40;</span>CGRect<span class="br0">&#41;</span>rect </div></li>
<li class="li1"><div class="de1"><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextRef currentContext <span class="sy0">=</span> UIGraphicsGetCurrentContext<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGGradientRef glossGradient;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGColorSpaceRef rgbColorspace;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw4">size_t</span> num_locations <span class="sy0">=</span> <span class="nu0">2</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGFloat locations<span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#123;</span> <span class="nu0">0.0</span>, <span class="nu0">1.0</span> <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGFloat components<span class="br0">&#91;</span><span class="nu0">8</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#123;</span> <span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">0.35</span>, &nbsp;<span class="co2">// Start color</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">0.06</span> <span class="br0">&#125;</span>; <span class="co2">// End color</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; rgbColorspace <span class="sy0">=</span> CGColorSpaceCreateDeviceRGB<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; glossGradient <span class="sy0">=</span> CGGradientCreateWithColorComponents<span class="br0">&#40;</span>rgbColorspace, components, locations, num_locations<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGRect currentBounds <span class="sy0">=</span> self.bounds;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGPoint topCenter <span class="sy0">=</span> CGPointMake<span class="br0">&#40;</span>CGRectGetMidX<span class="br0">&#40;</span>currentBounds<span class="br0">&#41;</span>, 0.0f<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGPoint midCenter <span class="sy0">=</span> CGPointMake<span class="br0">&#40;</span>CGRectGetMidX<span class="br0">&#40;</span>currentBounds<span class="br0">&#41;</span>, CGRectGetMidY<span class="br0">&#40;</span>currentBounds<span class="br0">&#41;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextDrawLinearGradient<span class="br0">&#40;</span>currentContext, glossGradient, topCenter, midCenter, <span class="nu0">0</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGGradientRelease<span class="br0">&#40;</span>glossGradient<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGColorSpaceRelease<span class="br0">&#40;</span>rgbColorspace<span class="br0">&#41;</span>; </div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<p><a href="http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_shadings/dq_shadings.html#//apple_ref/doc/uid/TP30001066-CH207-TPXREF101" target="_blank">Many documentations</a></p>
<p><noindex><br />
<a target="_blank" href="http://stackoverflow.com/questions/422066/gradients-on-uiview-and-uilabels-on-iphone">resource</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/make-gradient-on-iphoneipad.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First video Vkontakter, mac os x client for vkontakte.ru</title>
		<link>http://www.developers-life.com/first-video-vkontakter.html</link>
		<comments>http://www.developers-life.com/first-video-vkontakter.html#comments</comments>
		<pubDate>Sat, 22 May 2010 12:59:09 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OOP]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=965</guid>
		<description><![CDATA[Небольшая демонстрация программы написанной мною в свободное время. Программа на данный момент не очень функциональная, но все впереди! :)


]]></description>
			<content:encoded><![CDATA[<p>Небольшая демонстрация программы написанной мною в свободное время. Программа на данный момент не очень функциональная, но все впереди! :)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/F2-SParqBk4&amp;hl=ru&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/F2-SParqBk4&amp;hl=ru&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="opacity: 0; display: none; padding: 10px; background-color: #ffffff; position: fixed; right: 0px; top: 0px;"><img title="Replacing Emoji..." src="data:image/gif;base64,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" alt="Replacing Emoji..." /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/first-video-vkontakter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: Drag and drop (Dad) a line, image inside an NSTableView</title>
		<link>http://www.developers-life.com/tutorial-drag-and-drop-dad-a-line-image-inside-an-nstableview.html</link>
		<comments>http://www.developers-life.com/tutorial-drag-and-drop-dad-a-line-image-inside-an-nstableview.html#comments</comments>
		<pubDate>Sat, 22 May 2010 12:15:25 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=960</guid>
		<description><![CDATA[Video Tutorial working with NSTableView
Part 1

Download Video part 1
Part 2

Download Video part 2
Source
]]></description>
			<content:encoded><![CDATA[<p>Video Tutorial working with NSTableView</p>
<p>Part 1</p>
<p><object style="height: 344px; width: 425px"><param name="movie" value="http://www.youtube.com/v/Oj7CrJi7ylA"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/Oj7CrJi7ylA" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></object><br />
<a href="http://depositfiles.com/files/jxuwerdu2" target="_blank">Download Video part 1</a></p>
<p>Part 2</p>
<p><object style="height: 344px; width: 425px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/OhgDmra5vWs" /><param name="allowfullscreen" value="true" /><embed style="height: 344px; width: 425px;" type="application/x-shockwave-flash" width="100" height="100" src="http://www.youtube.com/v/OhgDmra5vWs" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<a href="http://depositfiles.com/files/c17uojo8p" target="_blank">Download Video part 2</a></p>
<p><a href="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?id=10" target="_blank"><img src="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?pid=10" border="0" height="0" width="" alt="Source Of Tutorial: Drag and drop (Dad) a line, image inside an NSTableView" />Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/tutorial-drag-and-drop-dad-a-line-image-inside-an-nstableview.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>В свободное время</title>
		<link>http://www.developers-life.com/free-time-for-vkontakter.html</link>
		<comments>http://www.developers-life.com/free-time-for-vkontakter.html#comments</comments>
		<pubDate>Sun, 02 May 2010 14:22:12 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Free Time]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Vkontakte]]></category>
		<category><![CDATA[xCode]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=956</guid>
		<description><![CDATA[
В свободное время решил поработать немного над созданием простого  клиента для социальной сети &#8220;Вконтакте&#8221;. Хочу поделиться маленьким результатом. Это пока скромная версия, которая  может вывести список, отправить сообщение, изменить статус и еще  несколько мелочей&#8230;
Я не руководился тем нужно это или нет, просто было  интересно поработать с новым API от &#8220;Вконтакте&#8221;.
Спасибо за [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gyazo.com/d30b6d825cffe79eaa2a89508e37481c.png"><img class="alignleft" title="Vkontakter" src="http://gyazo.com/d30b6d825cffe79eaa2a89508e37481c.png" alt="Vkontakter" width="226" height="509" /></a></p>
<p>В свободное время решил поработать немного над созданием простого  клиента для социальной сети &#8220;Вконтакте&#8221;. Хочу поделиться маленьким результатом. Это пока скромная версия, которая  может вывести список, отправить сообщение, изменить статус и еще  несколько мелочей&#8230;</p>
<p>Я не руководился тем нужно это или нет, просто было  интересно поработать с новым API от &#8220;Вконтакте&#8221;.</p>
<p>Спасибо за внимания,  если получится что-то хорошее, то возможно появится и для общего  пользования.</p>
<p>P.S.: Хочу заметить, что этот проект больше для повышения опыта разработки и не поддается критике :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/free-time-for-vkontakter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple XML Parser based on NSXMLParser +converter</title>
		<link>http://www.developers-life.com/simple-xml-parser-based-on-nsxmlparser-converter.html</link>
		<comments>http://www.developers-life.com/simple-xml-parser-based-on-nsxmlparser-converter.html#comments</comments>
		<pubDate>Wed, 21 Apr 2010 11:45:16 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=944</guid>
		<description><![CDATA[Simple XML Parser based on NSXMLParser +converter to XML file
How To Setup:
insert next code to file &#8220;name of you project&#8221;_Prefix.pch
#import &#34;XMLNode.h&#34;
&#160; &#160; #import &#34;XMLParser.h&#34;
&#160; &#160; #import &#34;XMLConvert.h&#34;

Create and launching XMLParser.
You will get parsed data ( with XMLNode data type ) in callbackParser: method
NSURL *URLToFile = &#91;NSURL fileURLWithPath:&#91;&#91;NSBundle mainBundle&#93; pathForResource:@&#34;source&#34; ofType:@&#34;xml&#34;&#93;&#93;;
&#160; &#160; 
&#160; &#160; XMLParser *parser [...]]]></description>
			<content:encoded><![CDATA[<p>Simple XML Parser based on NSXMLParser +converter to XML file</p>
<p>How To Setup:<br />
insert next code to file &#8220;name of you project&#8221;_Prefix.pch</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="co1">#import &quot;XMLNode.h&quot;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co1">#import &quot;XMLParser.h&quot;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co1">#import &quot;XMLConvert.h&quot;</span></div></li>
</ol></div></div>
<p>Create and launching XMLParser.<br />
You will get parsed data ( with XMLNode data type ) in <em>callbackParser:</em> method</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="kw5">NSURL</span> <span class="sy0">*</span>URLToFile <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSURL</span> fileURLWithPath<span class="sy0">:</span><span class="br0">&#91;</span><span class="br0">&#91;</span><span class="kw5">NSBundle</span> mainBundle<span class="br0">&#93;</span> pathForResource<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;source&quot;</span> ofType<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;xml&quot;</span><span class="br0">&#93;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; XMLParser <span class="sy0">*</span>parser <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>XMLParser alloc<span class="br0">&#93;</span> init<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>parser setDelegate<span class="sy0">:</span>self withAction<span class="sy0">:</span><span class="kw1">@selector</span><span class="br0">&#40;</span>callbackParser<span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>parser parseXMLFile<span class="sy0">:</span>URLToFile<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>parser release<span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p>Converting results of parsing to XML file:</p>
<div class="codecolorer-container objc" style="height:35px;"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="kw5">NSString</span> <span class="sy0">*</span>content <span class="sy0">=</span> <span class="br0">&#91;</span>XMLConvert convertXMLNode<span class="sy0">:</span>root<span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p>And additional define methods for working with XMLNode&#8217;s:<br />
<em>XMLaddAttribute(node, object, key), XMLgetAttribute(node, key), XMLsetParent(node, parent), XMLaddChild(parent, child), XMLgetChild(parent, child), XMLremoveChild(parent, child), XMLgetChildWithAttribute(parent, childname, object, key)</em></p>
<p><a href="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?id=9" target="_blank"><img src="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?pid=9" border="0" alt="" height="0" width="0" />Source</a><br />
Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/simple-xml-parser-based-on-nsxmlparser-converter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streatch image with  stretchableImageWithLeftCapWidth: topCapHeight:</title>
		<link>http://www.developers-life.com/streatch-image.html</link>
		<comments>http://www.developers-life.com/streatch-image.html#comments</comments>
		<pubDate>Wed, 10 Mar 2010 14:43:38 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIInterface]]></category>
		<category><![CDATA[UIKit]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=924</guid>
		<description><![CDATA[Sample
+ &#40;UIImage*&#41;greenBubble
&#123;
&#160; &#160; if &#40;sGreenBubble == nil&#41; &#123;
&#160; &#160; &#160; &#160; UIImage *i = &#91;UIImage imageNamed:@&#34;Balloon_1.png&#34;&#93;;
&#160; &#160; &#160; &#160; sGreenBubble = &#91;&#91;i stretchableImageWithLeftCapWidth:15 topCapHeight:13&#93; retain&#93;;
&#160; &#160; &#125;
&#160; &#160; return sGreenBubble;
&#125;
&#160;
+ &#40;UIImage*&#41;grayBubble
&#123;
&#160; &#160; if &#40;sGrayBubble == nil&#41; &#123;
&#160; &#160; &#160; &#160; UIImage *i = &#91;UIImage imageNamed:@&#34;Balloon_2.png&#34;&#93;;
&#160; &#160; &#160; &#160; sGrayBubble = &#91;&#91;i stretchableImageWithLeftCapWidth:21 topCapHeight:13&#93; retain&#93;;
&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Sample</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="sy0">+</span> <span class="br0">&#40;</span>UIImage<span class="sy0">*</span><span class="br0">&#41;</span>greenBubble</div></li>
<li class="li1"><div class="de1"><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>sGreenBubble <span class="sy0">==</span> <span class="kw2">nil</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; UIImage <span class="sy0">*</span>i <span class="sy0">=</span> <span class="br0">&#91;</span>UIImage imageNamed<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;Balloon_1.png&quot;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; sGreenBubble <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>i stretchableImageWithLeftCapWidth<span class="sy0">:</span><span class="nu0">15</span> topCapHeight<span class="sy0">:</span><span class="nu0">13</span><span class="br0">&#93;</span> retain<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> sGreenBubble;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">+</span> <span class="br0">&#40;</span>UIImage<span class="sy0">*</span><span class="br0">&#41;</span>grayBubble</div></li>
<li class="li1"><div class="de1"><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>sGrayBubble <span class="sy0">==</span> <span class="kw2">nil</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; UIImage <span class="sy0">*</span>i <span class="sy0">=</span> <span class="br0">&#91;</span>UIImage imageNamed<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;Balloon_2.png&quot;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; sGrayBubble <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>i stretchableImageWithLeftCapWidth<span class="sy0">:</span><span class="nu0">21</span> topCapHeight<span class="sy0">:</span><span class="nu0">13</span><span class="br0">&#93;</span> retain<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> sGrayBubble;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<p>Results:<br />
<span id="more-924"></span><br />
<img class="alignleft" src="http://gyazo.com/34d1577d68badfe8896178eb0a708fa5.png" alt="" width="186" height="345" /><br />
or<br />
<img class="alignnone" src="http://gyazo.com/fb5038e96245fed58764ce1ba8e82902.png" alt="" width="178" height="333" /></p>
<p>испоьзовал 2 картинки<br />
<img class="alignleft" src="http://gyazo.com/585d12ee517fcfe2dfd5a7740446633b.png" alt="" width="43" height="32" /><img class="alignnone" src="http://gyazo.com/ecdc3ecdf52bda4d41cd677c90533e77.png" alt="" width="56" height="56" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/streatch-image.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: Drag and Drop file on NSImageView</title>
		<link>http://www.developers-life.com/tutorial-drag-and-drop-file-on-nsimageview.html</link>
		<comments>http://www.developers-life.com/tutorial-drag-and-drop-file-on-nsimageview.html#comments</comments>
		<pubDate>Fri, 26 Feb 2010 19:44:07 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[NS]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[xCode]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=906</guid>
		<description><![CDATA[Step by step for starter developers&#8230;
1. Create a project in xCode with name &#8220;DragAndDrop&#8221; or any else&#8230;2. Add an element &#8220;NSImageView&#8221; on main view in the MainMenu.xib
3. Add files NSCImageView.m/NSCImageView.h to project with subclass of UIView
4. Replace &#8220;NSImageView&#8221; name class on &#8220;NSCImageView&#8221; in the NSImageView objec
5.  Change subclass &#8220;NSView&#8221; to &#8220;NSImageView&#8221; 
6. Remove all methods [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Step by step for starter developers&#8230;</p>
<p style="text-align: left;">1. Create a project in xCode with name &#8220;DragAndDrop&#8221; or any else&#8230;<img class="aligncenter" title="create project in xCode" src="http://gyazo.com/9ea3585c0c6a3b480e03fe4ca78ded52.png" alt="" width="312" height="225" />2. Add an element &#8220;NSImageView&#8221; on main view in the MainMenu.xib<a href="http://gyazo.com/efaf33a18871e46e8bc2761227b56a98.png" target="_blank"><img class="aligncenter" title="add an element on xib" src="http://gyazo.com/efaf33a18871e46e8bc2761227b56a98.png" alt="" width="295" height="194" /></a></p>
<p style="text-align: left;"><span id="more-906"></span>3. Add files NSCImageView.m/NSCImageView.h to project with subclass of UIView<a href="http://gyazo.com/5237bf8c7b0c18668f5e06f46547f455.png" target="_blank"><img class="aligncenter" title="add file to project" src="http://gyazo.com/5237bf8c7b0c18668f5e06f46547f455.png" alt="" width="312" height="225" /></a></p>
<p style="text-align: left;">4. Replace &#8220;NSImageView&#8221; name class on &#8220;NSCImageView&#8221; in the NSImageView objec<a href="http://gyazo.com/4e58ec405a87537a97873722dfb89480.png" target="_blank"><img class="aligncenter" src="http://gyazo.com/4e58ec405a87537a97873722dfb89480.png" alt="" width="302" height="219" /></a></p>
<p style="text-align: left;">5.  Change subclass &#8220;NSView&#8221; to &#8220;NSImageView&#8221; <a href="http://gyazo.com/21f607749b9ae6b7ca9db2ed6c70a397.png" target="_blank"><img class="aligncenter" src="http://gyazo.com/21f607749b9ae6b7ca9db2ed6c70a397.png" alt="" width="486" height="80" /></a></p>
<p style="text-align: left;">6. Remove all methods from *.m file<br />
<a href="http://gyazo.com/4a54590860e5a121d455a06b8af9bacd.png" target="_blank"><img class="aligncenter" src="http://gyazo.com/4a54590860e5a121d455a06b8af9bacd.png" alt="" width="307" height="99" /></a></p>
<p style="text-align: left;">7. Methods for getting entering and exit of dragging<br />
<a href="http://gyazo.com/8ed37c3278f48b5e8526136666400cbe.png" target="_blank"><img class="aligncenter" src="http://gyazo.com/8ed37c3278f48b5e8526136666400cbe.png" alt="" width="333" height="242" /></a></p>
<p style="text-align: left;">8. Method for checking information of dragging result<br />
<a href="http://gyazo.com/369f2fe283afda08246f3ddd9b33f10f.png" target="_blank"><img class="aligncenter" src="http://gyazo.com/369f2fe283afda08246f3ddd9b33f10f.png" alt="" width="355" height="513" /></a></p>
<p style="text-align: left;"><a href="http://pastie.org/844655.txt" target="_blank">Source of NSCImageView.m</a></p>
<p style="text-align: left;"><em>Note: If you make drag and drop with NSView and any other object, you will need add this code: </em></p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="br0">&#91;</span>self registerForDraggedTypes<span class="sy0">:</span><span class="br0">&#91;</span><span class="kw5">NSArray</span> arrayWithObjects<span class="sy0">:</span>NSTIFFPboardType, </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NSFilenamesPboardType, <span class="kw2">nil</span><span class="br0">&#93;</span><span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">Result:</p>
<p style="text-align: left;"><a href="http://gyazo.com/4ce91dbd50ae4bf5f6fc640affc375c7.png" target="_blank"><img class="alignleft" src="http://gyazo.com/4ce91dbd50ae4bf5f6fc640affc375c7.png" alt="" width="202" height="166" /></a><a href="http://gyazo.com/c7e0e408f15ecfb7e8395e43c61a40fb.png" target="_blank"><img class="alignnone" src="http://gyazo.com/c7e0e408f15ecfb7e8395e43c61a40fb.png" alt="" width="202" height="166" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/tutorial-drag-and-drop-file-on-nsimageview.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
