<?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; UIImage</title>
	<atom:link href="http://www.developers-life.com/tag/uiimage/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>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>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>Radio buttons for iPhone application</title>
		<link>http://www.developers-life.com/radio-buttons-in-iphone-application.html</link>
		<comments>http://www.developers-life.com/radio-buttons-in-iphone-application.html#comments</comments>
		<pubDate>Wed, 03 Feb 2010 00:47:26 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Private]]></category>
		<category><![CDATA[UIButton]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIKit]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=864</guid>
		<description><![CDATA[Presented simple and nice solution for radio buttons, based on the UIButton.
Add buttons on view of controller
for &#40;int i = 0; i &#60; 5; i++&#41; &#123;
&#160; &#160; &#160; &#160; UIButton *but = &#91;UIButton buttonWithType:UIButtonTypeCustom&#93;;
&#160; &#160; &#160; &#160; &#91;but setImage:&#91;UIImage imageNamed:@&#34;checkbox.png&#34;&#93; forState:UIControlStateNormal&#93;;
&#160; &#160; &#160; &#160; &#91;but setImage:&#91;UIImage imageNamed:@&#34;checkedbox.png&#34;&#93; forState:UIControlStateSelected&#93;;
&#160; &#160; &#160; &#160; &#91;but setFrame:CGRectMake&#40;0, 0, 17, [...]]]></description>
			<content:encoded><![CDATA[<p>Presented simple and nice solution for radio buttons, based on the UIButton.</p>
<p>Add buttons on view of controller</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span>; i &lt; <span class="nu0">5</span>; i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; UIButton <span class="sy0">*</span>but <span class="sy0">=</span> <span class="br0">&#91;</span>UIButton buttonWithType<span class="sy0">:</span>UIButtonTypeCustom<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>but setImage<span class="sy0">:</span><span class="br0">&#91;</span>UIImage imageNamed<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;checkbox.png&quot;</span><span class="br0">&#93;</span> forState<span class="sy0">:</span>UIControlStateNormal<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>but setImage<span class="sy0">:</span><span class="br0">&#91;</span>UIImage imageNamed<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;checkedbox.png&quot;</span><span class="br0">&#93;</span> forState<span class="sy0">:</span>UIControlStateSelected<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>but setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span><span class="nu0">0</span>, <span class="nu0">0</span>, <span class="nu0">17</span>, <span class="nu0">17</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>but setCenter<span class="sy0">:</span>CGPointMake<span class="br0">&#40;</span> <span class="nu0">50</span>, &nbsp;i<span class="sy0">*</span><span class="nu0">40</span><span class="sy0">+</span><span class="nu0">20</span> <span class="br0">&#41;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>but addTarget<span class="sy0">:</span>self action<span class="sy0">:</span><span class="kw1">@selector</span><span class="br0">&#40;</span>checkboxButton<span class="sy0">:</span><span class="br0">&#41;</span> forControlEvents<span class="sy0">:</span>UIControlEventTouchUpInside<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>self.view addSubview<span class="sy0">:</span>but<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
</ol></div></div>
<p><a href="http://gyazo.com/d1b32dba680d02954885fef2d0d072f7.png"><img alt="" src="http://gyazo.com/d1b32dba680d02954885fef2d0d072f7.png" class="alignnone" width="183" height="64" /></a></p>
<p><span id="more-864"></span><br />
Action for buttons:</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>IBAction<span class="br0">&#41;</span>checkboxButton<span class="sy0">:</span><span class="br0">&#40;</span>UIButton <span class="sy0">*</span><span class="br0">&#41;</span>button<span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>UIButton <span class="sy0">*</span>but <span class="kw1">in</span> <span class="br0">&#91;</span>self.view subviews<span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#91;</span>but isKindOfClass<span class="sy0">:</span><span class="br0">&#91;</span>UIButton class<span class="br0">&#93;</span><span class="br0">&#93;</span> <span class="sy0">&amp;&amp;</span> <span class="sy0">!</span><span class="br0">&#91;</span>but isEqual<span class="sy0">:</span>button<span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>but setSelected<span class="sy0">:</span><span class="kw2">NO</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</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">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>button.selected<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; button.selected <span class="sy0">=</span> <span class="sy0">!</span>button.selected;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<p><a href="http://depositfiles.com/files/6m7x0q40l">you can will get UI from here</a></p>
<p>good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/radio-buttons-in-iphone-application.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Change RGB color of the picture</title>
		<link>http://www.developers-life.com/change-color.html</link>
		<comments>http://www.developers-life.com/change-color.html#comments</comments>
		<pubDate>Thu, 21 Jan 2010 21:20:09 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIKit]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=778</guid>
		<description><![CDATA[Change RGB color of the picture
- &#40;UIImage *&#41; changeColor: &#40;UIImage *&#41;image &#123;
&#160; &#160; UIGraphicsBeginImageContext&#40;image.size&#41;;
&#160; &#160; 
&#160; &#160; CGRect contextRect;
&#160; &#160; contextRect.origin.x = 0.0f;
&#160; &#160; contextRect.origin.y = 0.0f;
&#160; &#160; contextRect.size = &#91;image size&#93;;
&#160; &#160; // Retrieve source image and begin image context
&#160; &#160; CGSize itemImageSize = &#91;image size&#93;;
&#160; &#160; CGPoint itemImagePosition; 
&#160; &#160; itemImagePosition.x = ceilf&#40;&#40;contextRect.size.width [...]]]></description>
			<content:encoded><![CDATA[<p>Change RGB color of the picture</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> changeColor<span class="sy0">:</span> <span class="br0">&#40;</span>UIImage <span class="sy0">*</span><span class="br0">&#41;</span>image <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; UIGraphicsBeginImageContext<span class="br0">&#40;</span>image.size<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGRect contextRect;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; contextRect.origin.x <span class="sy0">=</span> 0.0f;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; contextRect.origin.y <span class="sy0">=</span> 0.0f;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; contextRect.size <span class="sy0">=</span> <span class="br0">&#91;</span>image size<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co2">// Retrieve source image and begin image context</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGSize itemImageSize <span class="sy0">=</span> <span class="br0">&#91;</span>image size<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGPoint itemImagePosition; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; itemImagePosition.x <span class="sy0">=</span> ceilf<span class="br0">&#40;</span><span class="br0">&#40;</span>contextRect.size.width <span class="sy0">-</span> itemImageSize.width<span class="br0">&#41;</span> <span class="sy0">/</span> <span class="nu0">2</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; itemImagePosition.y <span class="sy0">=</span> ceilf<span class="br0">&#40;</span><span class="br0">&#40;</span>contextRect.size.height <span class="sy0">-</span> itemImageSize.height<span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; UIGraphicsBeginImageContext<span class="br0">&#40;</span>contextRect.size<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextRef c <span class="sy0">=</span> UIGraphicsGetCurrentContext<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co2">// Setup shadow</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co2">// Setup transparency layer and clip to mask</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextBeginTransparencyLayer<span class="br0">&#40;</span>c, <span class="kw2">NULL</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextScaleCTM<span class="br0">&#40;</span>c, <span class="nu0">1.0</span>, <span class="sy0">-</span><span class="nu0">1.0</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextClipToMask<span class="br0">&#40;</span>c, CGRectMake<span class="br0">&#40;</span>itemImagePosition.x, <span class="sy0">-</span>itemImagePosition.y, itemImageSize.width, <span class="sy0">-</span>itemImageSize.height<span class="br0">&#41;</span>, <span class="br0">&#91;</span>image CGImage<span class="br0">&#93;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co2">// Fill and end the transparency layer</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">switch</span> <span class="br0">&#40;</span>colorSelected<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="nu0">0</span><span class="sy0">:</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CGContextSetRGBFillColor<span class="br0">&#40;</span>c, <span class="nu0">0</span>, <span class="nu0">0</span>, <span class="nu0">1</span>, <span class="nu0">1</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">break</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">default</span><span class="sy0">:</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CGContextSetRGBFillColor<span class="br0">&#40;</span>c, <span class="nu0">1</span>, <span class="nu0">0</span>, 0., <span class="nu0">1</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">break</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; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; contextRect.size.height <span class="sy0">=</span> <span class="sy0">-</span>contextRect.size.height;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; contextRect.size.height <span class="sy0">-=</span> <span class="nu0">15</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextFillRect<span class="br0">&#40;</span>c, contextRect<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextEndTransparencyLayer<span class="br0">&#40;</span>c<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; UIImage <span class="sy0">*</span>img <span class="sy0">=</span> UIGraphicsGetImageFromCurrentImageContext<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; UIGraphicsEndImageContext<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> img;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/change-color.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Source of SlideShow</title>
		<link>http://www.developers-life.com/source-of-slideshow.html</link>
		<comments>http://www.developers-life.com/source-of-slideshow.html#comments</comments>
		<pubDate>Fri, 20 Nov 2009 02:16:20 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=669</guid>
		<description><![CDATA[Реализация слайдшоу!
Мелочь, которую можно быстро вставить в свой проект!
Компакто, в плане кода!

Спасибо разработчику, ресурс!
Mirror
]]></description>
			<content:encoded><![CDATA[<p>Реализация слайдшоу!<br />
Мелочь, которую можно быстро вставить в свой проект!<br />
Компакто, в плане кода!</p>
<p><img class="alignleft" title="SlideShow" src="http://gyazo.com/357e3034bd265d2af1e05466abf8226f.png" alt="" width="122" height="228" /></p>
<p>Спасибо разработчику, <noindex><a href="http://lievendekeyser.net/index.php?module=messagebox&amp;action=message&amp;msg_id=1351">ресурс</a>!</noindex></p>
<p><a href="http://www.developers-life.com/files/SlideShow.zip">Mirror</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/source-of-slideshow.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Дизайним интерфейс в приложениях iPhone</title>
		<link>http://www.developers-life.com/interface-design-for-iphone-applications.html</link>
		<comments>http://www.developers-life.com/interface-design-for-iphone-applications.html#comments</comments>
		<pubDate>Tue, 17 Feb 2009 20:00:33 +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[design]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIKit]]></category>
		<category><![CDATA[xCode]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=338</guid>
		<description><![CDATA[На сегодняшний день всем хочется красивости и примочек, iPhone приложения не исключения! Вот реализовал по своему. Может кому покажется не так. Если у вас есть другие, более оптимальные варианты реализации, буду рад выслушать.
Вот что из этого получилось:
Объект first выдвигается и задвигается с левой стороны, а second с правой стороны, плюс можно перемещать за любое место [...]]]></description>
			<content:encoded><![CDATA[<p>На сегодняшний день всем хочется красивости и примочек, iPhone приложения не исключения! Вот реализовал по своему. Может кому покажется не так. Если у вас есть другие, более оптимальные варианты реализации, буду рад выслушать.<br />
<center>Вот что из этого получилось:<img src="http://www.developers-life.com/wp-content/uploads/2009/02/Picture-2.jpg" alt="iphone design application dev" width="270" height="485" /></center></p>
<p>Объект first выдвигается и задвигается с левой стороны, а second с правой стороны, плюс можно перемещать за любое место этого объекта. Эти свойства добавляют юзабилити интерфейсу.</p>
<p>Плюсы:<br />
1. Красиво<br />
2. Динамическое изменение размера без потери качества.</p>
<p>Минусы:<br />
1. Когда центр попадает не на четкие координаты шрифты могут искажаться и разъезжаться картинки. Если окошко не динамическое лучше использовать статическую картинку.<br />
<span id="more-338"></span><br />
Реализовал с помощью 9 картинок, 4 уголков, 4 боковых, и фона. Всего 1 небольшой класс в котором производятся автоматические расчеты и выставление рисунков от заданных размеров при инициализации или с помощью метода setFrame.</p>
<p>Выкладываю source примера, разрешаю изменять код, использовать в своих целях, но прошу оставить авторство кода. И при копировании статьи оставлять линк на источник. Закидываю без комментариев, чтоб сами разобрались ;)<br />
<a href="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?id=4" target="_blank"><img src="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?pid=4" border="0" alt="Beautiful Window" height="0" width="0"/>Beautiful Window</a><br />
please comment this post</p>
<p>Код автоматических расчетов для View:</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="br0">&#91;</span>topLeft setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></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;<span class="nu0">0</span></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;, <span class="nu0">0</span></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;, topLeft.image.size.width</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;, topLeft.image.size.height</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</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; <span class="br0">&#91;</span>self addSubview<span class="sy0">:</span>topLeft<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; <span class="br0">&#91;</span>topRight setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></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; frame.size.width<span class="sy0">-</span>topRight.image.size.width</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; , <span class="nu0">0</span></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; , topRight.image.size.width</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; , topRight.image.size.height</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; <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>self addSubview<span class="sy0">:</span>topRight<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>top setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;topLeft.image.size.width</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="nu0">0</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, frame.size.width<span class="sy0">-</span>topRight.image.size.width<span class="sy0">-</span>topLeft.image.size.width</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, top.image.size.height</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>self addSubview<span class="sy0">:</span>top<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>bottomLeft setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></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; &nbsp; <span class="nu0">0</span></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; , frame.size.height<span class="sy0">-</span>bottomLeft.image.size.height</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; , bottomLeft.image.size.width</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; , bottomLeft.image.size.height</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; <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>self addSubview<span class="sy0">:</span>bottomLeft<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; <span class="br0">&#91;</span>bottomRight setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></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; &nbsp; &nbsp;frame.size.width<span class="sy0">-</span>bottomRight.image.size.width</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; &nbsp;, frame.size.height<span class="sy0">-</span>bottomRight.image.size.height</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; &nbsp;, bottomRight.image.size.width</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; &nbsp;, bottomRight.image.size.height</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; &nbsp;<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>self addSubview<span class="sy0">:</span>bottomRight<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; <span class="br0">&#91;</span>bottom setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></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; bottomLeft.frame.size.width</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , frame.size.height<span class="sy0">-</span>bottom.image.size.height </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , frame.size.width<span class="sy0">-</span>bottomRight.frame.size.width<span class="sy0">-</span>bottomLeft.frame.size.width</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , bottom.image.size.height</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>self addSubview<span class="sy0">:</span>bottom<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; <span class="br0">&#91;</span>left setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , topLeft.frame.size.height </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , left.image.size.width</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , frame.size.height<span class="sy0">-</span>topLeft.frame.size.height<span class="sy0">-</span>bottomLeft.frame.size.height</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>self addSubview<span class="sy0">:</span>left<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; <span class="br0">&#91;</span>right setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></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;frame.size.width<span class="sy0">-</span>right.image.size.width</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, topRight.frame.size.height </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, right.image.size.width</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, frame.size.height<span class="sy0">-</span>topRight.frame.size.height<span class="sy0">-</span>bottomRight.frame.size.height</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<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>self addSubview<span class="sy0">:</span>right<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>background setFrame<span class="sy0">:</span>CGRectMake<span class="br0">&#40;</span></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; &nbsp; left.frame.size.width</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; , topRight.frame.size.height </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; , frame.size.width<span class="sy0">-</span>left.frame.size.width<span class="sy0">-</span>right.frame.size.width</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; , frame.size.height<span class="sy0">-</span>topRight.frame.size.height<span class="sy0">-</span>bottomRight.frame.size.height</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;<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>self addSubview<span class="sy0">:</span>background<span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p>Есть вариант и попроще</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>Вот результат</p>
<p><img class="alignleft" src="http://gyazo.com/34d1577d68badfe8896178eb0a708fa5.png" alt="" width="232" height="431" /><img class="alignnone" src="http://gyazo.com/fb5038e96245fed58764ce1ba8e82902.png" alt="" width="223" height="416" /></p>
<p>а испоьзовал 2 картинки<br />
<img alt="" src="http://gyazo.com/585d12ee517fcfe2dfd5a7740446633b.png" class="alignleft" width="43" height="32" /><img alt="" src="http://gyazo.com/ecdc3ecdf52bda4d41cd677c90533e77.png" class="alignnone" width="56" height="56" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/interface-design-for-iphone-applications.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
