Why do I have this page? I figured that like any big project, it’s going to want to derail itself. There will be times when I just want to give up, and just dump the whole thing. This page is here, at least partially, as a guide for me, so that I can see why I decided to embark on this crazy adventure. Of course, it’s also here for you, dear reader, to see my intent.

With that being said, what is my intent?

  1. I am not a professional. I do not consider myself a professional. I will not consider myself a professional (until I actually am, as judged by a professional). This has a few side effects. First, some things here may not be fully accurate. A lot of this is purely experimental, a playing ground or sandbox for me to share some ideas, and hopefully receive some feedback.
  2. There’s another reason though—a lot of coding resources and blogs are maintained by professionals (by rather high standards). As a result, I find that many professionals forget how difficult it is for beginners to get started. Although I hope that will never happen to me, it’s inevitable that some of this…arrogance (is that the right word?)…will begin to creep in over time. By writing this, I hope to help prevent it. In addition, as a beginner, I feel that I can better relate to other beginners. We can make this journey together
  3. As is true for any development, I believe that working as a community is vital. I’m hoping that one day, this blog can become a community for me and other beginners to bounce around ideas, and maybe even get some professionals here to help out.

Over the last year or so that I’ve been developing, I’ve especially realized the importance of beginners—they’ve given me some solutions that professionals couldn’t. But I don’t mean to decry professionals either—they’ve helped me out of many sticky situations.

Finally, this blog is dedicated as a tribute to all those who’ve helped me over at the Apple Discussion Forums and the iPhone Dev SDK community. Many thanks!

Leave a comment


  1. I immediately need the methods for scrolling.im trying to implement scrollview in iphone containing text fields…i used the following code but its not working.Please help me…
    -(void) scrollToCellInView:(UITextField*)textField {
    NSInteger newY = textField.tag * CELL_HEIGHT;
    NSInteger totalSize = self.tblView.frame.size.height;
    NSInteger viewSize = self.scrollView.frame.size.height;
    //let’s check if the new y position is larger than total size minus viewSize, in that case the bottom would show and we don’t want that.
    //if yes show lowest part of table
    if(newY > (totalSize – viewSize)) {
    newY = totalSize – viewSize;
    CGRect newScrollIntoViewRect = CGRectMake(0, newY, 320, ([self getHeightMinusToolbar] – PORTRAIT_KEYBOARD_HEIGHT));
    //yep a bit weird, we do the animations ourself.
    //settting animited to YES for method scrollRectToVisible causes weird effects for middle to lower table cells

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDuration:KEYBOARD_ANIMATION_DURATION];

    //ok, you can animate by saying YES, but you might get weird effects at the bottom of the table. Try it out
    [self.scrollView scrollRectToVisible:newScrollIntoViewRect animated:NO];

    [UIView commitAnimations];

    • I don’t follow what you’re trying to do…can you provide me with the full header and .m file for this code? Or even the whole Xcode project, so I can actually see what’s happening? At least describe what you’re seeing, or maybe record it (QuickTime X works) and post it somewhere.

      For the moment though, a few things catch my attention:

      • What is textField.tag? What’s the value set to? What are you trying to accomplish with this?
      • UIView’s beginAnimations:context: method takes two arguments…the first is an NSString used to refer to the animation. I’d recommend passing in an NSString, even if you don’t plan on using it…just good coding. And in this case, “nil” is preferred over “NULL.”
      • scrollRectToVisible:animated: does not have to be enclosed in an animation block…take it out and see what happens.

      Hope this helps somewhat! Don’t hesitate to reply with feedback.

  2. Ben

     /  July 28, 2013

    Thank you for your work. It’s great to read tutorials that spell the whys and hows fully. I am very grateful.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

  • Welcome

    My goal is to make CupsOfCocoa into a beautiful source for beginners to the iPhone platform to get started. Subscribe below for more, and stay tuned!

  • Contact Me

    If you need to contact me for any reason, feel free to send me an email.
  • The Giving Spirit

    If you've found this site helpful, would you consider donating a little sum? Any amount is appreciated...Thanks so much!

  • Roadmap

  • Enter your email address to follow this blog and receive notifications of new posts by email.

    Join 220 other followers

  • Back to the Past

    July 2020
    S M T W T F S
  • Time Machine

  • You count!

  • Worldwide Stats

    free counters
%d bloggers like this: