<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: FTUtils: A New Open Source iPhone Library</title>
	<atom:link href="http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html</link>
	<description>everyone&#039;s a critic</description>
	<lastBuildDate>Mon, 02 May 2011 20:16:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Bruce</title>
		<link>http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html/comment-page-1#comment-72565</link>
		<dc:creator>Bruce</dc:creator>
		<pubDate>Wed, 19 May 2010 14:23:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.neror.com/?p=377#comment-72565</guid>
		<description>&lt;p&gt;Hey Nathan, playing with your FTAnimation code - good stuff, thanks! Seeing something strange and can&#039;t figure it out. I was hoping you my have a thought. Using the Popin animation, popin and popout work find first time, then each following invocation fails to show the popin animation (also, the view isn&#039;t displayed). But, I can click in the view (triggering the Popout), and the popout animation is shown. Any thoughts? Thanks in advance Nathan.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hey Nathan, playing with your FTAnimation code &#8211; good stuff, thanks! Seeing something strange and can&#8217;t figure it out. I was hoping you my have a thought. Using the Popin animation, popin and popout work find first time, then each following invocation fails to show the popin animation (also, the view isn&#8217;t displayed). But, I can click in the view (triggering the Popout), and the popout animation is shown. Any thoughts? Thanks in advance Nathan.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: neror</title>
		<link>http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html/comment-page-1#comment-72217</link>
		<dc:creator>neror</dc:creator>
		<pubDate>Thu, 18 Mar 2010 20:06:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.neror.com/?p=377#comment-72217</guid>
		<description>&lt;p&gt;@Florent Pillet&lt;/p&gt;

&lt;p&gt;I&#039;m glad you like &lt;strong&gt;FTUtils&lt;/strong&gt; and that you&#039;re getting a lot of use from it!&lt;/p&gt;

&lt;p&gt;The reason I set &lt;code&gt;removedOnCompletion&lt;/code&gt; to &lt;code&gt;NO&lt;/code&gt; is that I want to manually remove the animation in the &lt;code&gt;aminationDidStop:finished:&lt;/code&gt; delegate method. &lt;strong&gt;FTAnimation&lt;/strong&gt; assumes that it will always be the delegate for any animations it creates, and it forwards the delegate calls to the &lt;code&gt;startSelector&lt;/code&gt; and &lt;code&gt;endSelector&lt;/code&gt;. As a result, the animation should be removed every time, but you found a bug in my delegate method. I was calling &lt;code&gt;removeAnimationForKey:&lt;/code&gt; inside of an &lt;code&gt;if&lt;/code&gt; statement when it should be called all of the time. I&#039;ve pushed up the fix to github already.&lt;/p&gt;

&lt;p&gt;The reason I have to manually remove the animation is because after an &quot;out&quot; animation completes, FTAnimation sets the &lt;code&gt;hidden&lt;/code&gt; attribute of the view to &lt;code&gt;YES&lt;/code&gt;. In many cases, the view wasn&#039;t being hidden quickly enough after the transform was reset, and the view would flash visible for a split second. My solution was to set the &lt;code&gt;fillMode&lt;/code&gt; of the animation to &lt;code&gt;kCAFillModeForwards&lt;/code&gt; (or &lt;code&gt;kCAFillModeBoth&lt;/code&gt;) and hide the view before removing the animation from it. This is a fairly old optimization, and I don&#039;t know if it&#039;s still necessary. I&#039;ve kept it there just in case. I could probably optimize further by only doing this for &quot;out&quot; animations, but I don&#039;t think there is really any significant performance penalty for manually removing the animation.&lt;/p&gt;

&lt;p&gt;Thanks a lot for pointing this out, and I hope my explanation and fix help.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Florent Pillet</p>

<p>I&#8217;m glad you like <strong>FTUtils</strong> and that you&#8217;re getting a lot of use from it!</p>

<p>The reason I set <code>removedOnCompletion</code> to <code>NO</code> is that I want to manually remove the animation in the <code>aminationDidStop:finished:</code> delegate method. <strong>FTAnimation</strong> assumes that it will always be the delegate for any animations it creates, and it forwards the delegate calls to the <code>startSelector</code> and <code>endSelector</code>. As a result, the animation should be removed every time, but you found a bug in my delegate method. I was calling <code>removeAnimationForKey:</code> inside of an <code>if</code> statement when it should be called all of the time. I&#8217;ve pushed up the fix to github already.</p>

<p>The reason I have to manually remove the animation is because after an &#8220;out&#8221; animation completes, FTAnimation sets the <code>hidden</code> attribute of the view to <code>YES</code>. In many cases, the view wasn&#8217;t being hidden quickly enough after the transform was reset, and the view would flash visible for a split second. My solution was to set the <code>fillMode</code> of the animation to <code>kCAFillModeForwards</code> (or <code>kCAFillModeBoth</code>) and hide the view before removing the animation from it. This is a fairly old optimization, and I don&#8217;t know if it&#8217;s still necessary. I&#8217;ve kept it there just in case. I could probably optimize further by only doing this for &#8220;out&#8221; animations, but I don&#8217;t think there is really any significant performance penalty for manually removing the animation.</p>

<p>Thanks a lot for pointing this out, and I hope my explanation and fix help.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Florent Pillet</title>
		<link>http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html/comment-page-1#comment-72172</link>
		<dc:creator>Florent Pillet</dc:creator>
		<pubDate>Mon, 15 Mar 2010 13:31:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.neror.com/?p=377#comment-72172</guid>
		<description>&lt;p&gt;Hi Nathan, FTUtils is a nice library. I started using it and was wondering why you are setting the removedOnCompletion for animation groups to NO. This makes it so that each animation persists in the view layer, even though it&#039;s complete. Moreover, since you&#039;re keeping a reference to the view (kFTAnimationTargetViewKey) in the animation, this has a later impact on memory management: if I show a view using, say, a back-in effect then make it disappear with a slideOut effect, since the backIn animation is never removed from the layer, there is a live reference to the view, so even if I do a removeFromSuperview: call from the slideOut delegate&#039;s stopSelector, it&#039;s not enough. I have to -removeAllAnimations on the target view first, so that -removeFromSuperview causes a dealloc of the view object.&lt;/p&gt;

&lt;p&gt;I&#039;m interested in hearing your thoughts about these!&lt;/p&gt;

&lt;p&gt;Thanks for making FTUtils public!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Nathan, FTUtils is a nice library. I started using it and was wondering why you are setting the removedOnCompletion for animation groups to NO. This makes it so that each animation persists in the view layer, even though it&#8217;s complete. Moreover, since you&#8217;re keeping a reference to the view (kFTAnimationTargetViewKey) in the animation, this has a later impact on memory management: if I show a view using, say, a back-in effect then make it disappear with a slideOut effect, since the backIn animation is never removed from the layer, there is a live reference to the view, so even if I do a removeFromSuperview: call from the slideOut delegate&#8217;s stopSelector, it&#8217;s not enough. I have to -removeAllAnimations on the target view first, so that -removeFromSuperview causes a dealloc of the view object.</p>

<p>I&#8217;m interested in hearing your thoughts about these!</p>

<p>Thanks for making FTUtils public!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Ross</title>
		<link>http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html/comment-page-1#comment-71471</link>
		<dc:creator>Mike Ross</dc:creator>
		<pubDate>Sat, 23 Jan 2010 22:24:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.neror.com/?p=377#comment-71471</guid>
		<description>&lt;p&gt;Thanks for taking the time to respond Nathan. It was user error; I was passing in a different key on the addAnimation: call. This led to the problems noted above. Great stuff Nathan - I appreciate you making this available to us.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks for taking the time to respond Nathan. It was user error; I was passing in a different key on the addAnimation: call. This led to the problems noted above. Great stuff Nathan &#8211; I appreciate you making this available to us.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: neror</title>
		<link>http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html/comment-page-1#comment-71400</link>
		<dc:creator>neror</dc:creator>
		<pubDate>Fri, 22 Jan 2010 20:56:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.neror.com/?p=377#comment-71400</guid>
		<description>&lt;p&gt;Mike: Interesting behavior. I&#039;m not sure exactly what&#039;s happening. The animations all take over the hidden attribute on UIView to hide or show the view based on the type of animation. This is because the animations were originally designed as transitions. For example, after popOut is finished, the hidden attribute is set to YES right before your delegate selector (if there is one) is called. There might be some kind of race condition going on, but it&#039;s hard to say.&lt;/p&gt;

&lt;p&gt;I can take a look at it if you can give me a small example.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Mike: Interesting behavior. I&#8217;m not sure exactly what&#8217;s happening. The animations all take over the hidden attribute on UIView to hide or show the view based on the type of animation. This is because the animations were originally designed as transitions. For example, after popOut is finished, the hidden attribute is set to YES right before your delegate selector (if there is one) is called. There might be some kind of race condition going on, but it&#8217;s hard to say.</p>

<p>I can take a look at it if you can give me a small example.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Ross</title>
		<link>http://www.neror.com/2010/01/05/ftutils-a-new-open-source-iphone-library.html/comment-page-1#comment-71399</link>
		<dc:creator>Mike Ross</dc:creator>
		<pubDate>Fri, 22 Jan 2010 20:28:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.neror.com/?p=377#comment-71399</guid>
		<description>&lt;p&gt;Hey Nathan, playing with your FTAnimation code - good stuff, thanks! Seeing something strange and can&#039;t figure it out. I was hoping you my have a thought. Using the Popin animation, popin and popout work find first time, then each following invocation fails to show the popin animation (also, the view isn&#039;t displayed). But, I can click in the view (triggering the Popout), and the popout animation is shown. Any thoughts? Thanks in advance Nathan.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hey Nathan, playing with your FTAnimation code &#8211; good stuff, thanks! Seeing something strange and can&#8217;t figure it out. I was hoping you my have a thought. Using the Popin animation, popin and popout work find first time, then each following invocation fails to show the popin animation (also, the view isn&#8217;t displayed). But, I can click in the view (triggering the Popout), and the popout animation is shown. Any thoughts? Thanks in advance Nathan.</p>]]></content:encoded>
	</item>
</channel>
</rss>

