Donnerstag, 29. April 2010

CABasicAnimation "undeclared"

If you are new on iPhone development or XCode you probably get the following error:

error: 'CABasicAnimation' undeclared (first use in this function)


But how to fix this issue?

  • First of all you have to learn, how to add a new framework to your include path. But what framework? Let's have al look at the class documentation: Link.
    As you can see, CABasicAnimation is part of the QuartzCore framework.
  • Now let's add this framework to your project. Locate in Xcode the "Framework" folder, press the right mouse button, choose "Add" => "Existing Frameworks...".
  • Choose "Quartz.Core.framework" and then press "Add".
  • Now you can go to the .m file where you want to use the CABasicAnimation and add the following line to the existing import statements:
    #import "QuartzCore/CAAnimation.h"
  • Compile your app

Montag, 26. April 2010

HowTo upload images using drag & drop

Notice: This example will only work if you are using Firefox 3.6 or higher. Safari, Chrome, Opera or IE is currently not supported.

This example demonstrates, how to upload a image file from your local desktop to a webserver using drag & drop and Firefox's FileReader API to display a preview of the image.

This example is limited to upload only image files. If you want to upload any types of files you have to modify some lines of code to display a icon instead of the preview image.

View live demo
Download full source code

How does this work?

  1. First of all, we need a div container, which will be our drop target:


    <div style="width: 600px; min-height: 300px; background: url(background.png)" id="imageDrop"></div>
    

  2. This example uses Mootools as javascript framework but will also work with some changes on other javascript frameworks. You can download all needed files here. Add the following lines to your HTML Header:

    <script src="mt.js"></script>
    <script src="mt-more.js"></script>
    <script src="ImageDrop.js"></script>
    <script>
    
  3. Next we need to say the ImageDrop.js script to make our new created div
    drag&dropable and define a target url where files should be posted.

    window.addEvent('domready', function() {
    var drop = new ImageDrop('imageDrop', 'post.php');
    });
    </script>
  4. That's it! Now drag & drop a image from your desktop to the new created div in your browser.
    You should see a preview image which can be easily removed by clicking the (x) button in the top left corner. If you click the "upload files" button the images will be posted to my server. Notice, i will never save any of your uploaded data.
  5. All the magic is done in the ImageDrop.js file. If you want to have a look behind the scenes click here. This will open the ImageDrop.js file in your browser. Have fun!