We try to keep our books accurate, but sometimes mistakes creep
in. This page lists the errors submitted by our astute readers.
If you've found a new error, please
submit it.
The latest version of the book is B7.0,
released about 1 month ago.
If you've bought a PDF of the book and would like to upgrade
it to this version (for free), visit your
home page.
| PDF |
Paper |
Description |
Found in |
Fixed in |
| 16 |
|
#32618: The suggested code change won't compile, because targetFramePosition is never declared. Also, it's a tad easier to edit by adding [mover animator] in each case of the if statement, even if it's less tidy.--Roderick Mann #32618: The suggested code change won't compile, because targetFramePosition is never declared. Also, it's a tad easier to edit by adding [mover anima ...more...
|
B7.0
|
|
| 24 |
|
#32369: First paragraph of section 3.1, last sentence reads "... and exactly the length of time we want it to have that value."
This makes it sound as if the change to the property is temporary, and it will be set back to the original value after some elapsed time. It may be more clear to say something like "..and exactly the length of time over which that property is applied" or something which indicates that you arrive at the specified value at the end of the time period.
--Jason Foreman #32369: First paragraph of section 3.1, last sentence reads "... and exactly the length of time we want it to have that value."
This makes it sound ...more...
|
B6.0
|
|
| 33 |
|
#32624: You say, " We discussed the duration earlier, so let’s get into the autoreverses property." However, I couldn't find any substantial discussion of the duration property. My biggest question was, are those seconds, or some unitless value that can be scaled in time? (The line before says seconds.)--Roderick Mann #32624: You say, " We discussed the duration earlier, so let’s get into the autoreverses property." However, I couldn't find any substantial discussio ...more...
|
B7.0
|
|
| 34 |
|
#32448: In GroupAnimationView.m, in function "keyDown", we setoff a group animation by typing 'g', which triggers:
"[[mover animator] setFrameRotation:[mover frameRotation]];"
i've found that if you press 'g' again in the middle of the animation, it restarts (expected) however when it finishes the frame then resets it's rotation to whatever angle it was as when that second 'g' was pressed, because [mover frameRotation] wasn't zero at the time the second 'g' was pressed. at that point your frame is stuck sideways until you changing it by hitting 'g' twice again, but still it's hard to get it back to the starting point with out quitting and relaunching. hitting 'g' to kick it off again then moves it back to 0.0 in a choppy way, and re-animates from 0.0 to 45.0, then back, then back to whatever angle you were at when you hit the second 'g'.
if you swap [mover frameRotation] with just 0.0f you avoid this behavior. --Clint Shryock #32448: In GroupAnimationView.m, in function "keyDown", we setoff a group animation by typing 'g', which triggers:
"[[mover animator] setFrameRotati ...more...
|
B6.0
|
|
| 46 |
|
#32465: file AnimationTiming/CustomAnimationTiming/MyView.m
function moveAnimation in the pdf has the CABasicAnimation object called "moveAnimation" however source code supplied calls it "fadeAnimation". source also does not have "moveAnimation.duration = 2.0f;" (or fadeAnimation.duration for that matter)
without setting the duration the animation is terribly choppy, can't visualize the animation going on the curve. adding it in makes it very obvious.--Clint Shryock #32465: file AnimationTiming/CustomAnimationTiming/MyView.m
function moveAnimation in the pdf has the CABasicAnimation object called "moveAnimation" ...more...
|
B6.0
|
|
| 50 |
|
#34033: The description of the example states, "As it arrives, the snowman animates from the center to the left side of the screen." It should be, "As it arrives, the snowman animates from the center to the right side of the screen."--Simon Wolf #34033: The description of the example states, "As it arrives, the snowman animates from the center to the left side of the screen." It should be, "As ...more...
|
B7.0
|
|
| 56 |
|
#32692: Box refers to next chapter, but there are two chapters in between.--Gordon Apple
|
B7.0
|
|
| 56 |
|
#32694: Correction to my errata: There is one chapter in between.--Gordon Apple
|
B7.0
|
|
| 68 |
|
#34034: In the example project the Custom View in the Background Filtered View is of type SimpleView which doesn't exist. It should be changed back to being a standard NSView.--Simon Wolf #34034: In the example project the Custom View in the Background Filtered View is of type SimpleView which doesn't exist. It should be changed back to ...more...
|
B7.0
|
|
| 70 |
|
#34035: The description of the example project mentions a subview called SimpleView. The SimpleView class does not exist in the example project so it either needs to be added or the view need to be changed to use the standard NSView class and the reference to SimpleView removed from the descriptive text.
--Simon Wolf #34035: The description of the example project mentions a subview called SimpleView. The SimpleView class does not exist in the example project so it ...more...
|
B7.0
|
|
| 74 |
|
#34036: In the example project the Custom View in the Composited View is of type SimpleView which doesn't exist. It should be changed back to being a standard NSView--Simon Wolf #34036: In the example project the Custom View in the Composited View is of type SimpleView which doesn't exist. It should be changed back to being a ...more...
|
B7.0
|
|
| 87 |
|
#34039: In the first paragraph, when explaining the color creation code, the black method is on line 9, not line 1.--Simon Wolf
|
B7.0
|
|
| 98 |
|
#32528: method - (void)mouseDown isn't found in code downloaded from website. Furthermore, even if added the method will not work unless the photolayer is named "photo" in the setup method.--Carlos A. Weber, M.D. #32528: method - (void)mouseDown isn't found in code downloaded from website. Furthermore, even if added the method will not work unless the photolaye ...more...
|
B6.0
|
|
| 110 |
|
#34129: The provided source files don't include the filecode/CoreAnimationLayers/TiledLayer/Images/SilverGreen_0.25.png which causes an error when trying to compile that project. Deleting the reference from the project seems to fix things though.--Yogi Patel #34129: The provided source files don't include the filecode/CoreAnimationLayers/TiledLayer/Images/SilverGreen_0.25.png which causes an error when try ...more...
|
B7.0
|
|
| 123up |
|
#32446: Figures 9.3 - 9.7 have some "fuzzy" text. It seems some of the text is actually bitmap-text (e.g. "CALayer (image1)" looks fuzzy)--Michael Kussmaul
|
B6.0
|
|
| 127 |
|
#34097: The origin of the frame has moved from {25, 10} to {35,20}
should read:
The origin of the frame has moved from {25, 10} to {35,10}
to match figure 9.7. The figure is correct as the y component of the anchorPoint did not change.--Dave #34097: The origin of the frame has moved from {25, 10} to {35,20}
should read:
The origin of the frame has moved from {25, 10} to {35,10}
to match ...more...
|
B7.0
|
|
| 130 |
|
#32693: "It has the ef fect of making things in the layer
appear bigger (positive scaling factors) or smaller (negative factors)."
That's confusing. I think "greater than 1" and "less than 1" would be more accurate.--Gordon Apple #32693: "It has the ef fect of making things in the layer
appear bigger (positive scaling factors) or smaller (negative factors)."
That's confusing ...more...
|
B7.0
|
|
| 162 |
|
#32674: Suggestion for Example code.
I think it would be helpful to prefix the top level folder with the chapter number. Makes it easier to find the sample code being talked about.--Abizer Nasir #32674: Suggestion for Example code.
I think it would be helpful to prefix the top level folder with the chapter number. Makes it easier to find the ...more...
|
B7.0
|
|