Day 33 – Make my first iPhone app in 16 weeks (Implementing SplitView)

This is part of “Make my first iPhone app in 16 weeks” series.

Split View is a custom feature for iPad which is not available on iPhone. This is a great way to really utilize the large real estate on the device. I implemented the split view in my simplified version of Flickr app. The reason why I had to simplify the existing Flickr app was because the app uses Tab Bar controller which does not integrate well with the split view without some customization. I’ll explore how to do that later but for the purpose of getting used to how to implement a basic split view, I simplified the app (no tab view any more).

assignment 4 – with Split View

Day 29 – 31 – Make my first iPhone app in 16 weeks (Table View & Scroll View)

This is part of “Make my first iPhone app in 16 weeks” series.

I have been working on the assignment 4. I carefully re-watched the video #9 to learn more about Table View and Scroll View.

If you were to have a UIView which contains UIScrollView into which you programmatically input an UIImageView, you have to do several things to display the image in the way you want.

First of all, you must set constraints on UIScrollView relative to its super view – UIView. This keeps the scroll view to have consistent layout when the device orientation changes or the device itself changes from iPhone 3 to iPhone 4 and up. For my purpose, I made sure leading, trailing, top and bottom distance are zero, so that it takes up the full screen regardless of the device or orientation.

Second, you must set content size on the scroll view to be the same as the size of image.

self.scrollView.contentSize = image.size;

Third, you should set the frame of the image which determines where the images will be located on the Scroll View content area. Below code will fill up the entire scroll view with the image.

self.imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height);

Fourth, if you want your scroll view to zoom into a specific part of the image (i.e. 300 x 200 pt), use zoomToRect method on the scroll view.

[self.imageScrollView zoomToRect:CGRectMake(0, 0, 300, 200) animated:YES];

Fifth, other properties of scroll view to be aware of. Content offset gives you where your upper left corner of the bounds of your scroll view is in its content area. Below code returns a CGPoint which has x (horizontal offset in the coordinates) and y (vertical offset in the coordinates).

scrollView.contentOffset

Below code returns the CGRect (width and height of scroll view’s bounds).

scrollview.bounds

Day 28 – Make my first iPhone app in 16 weeks (Assignment 3)

This is part of “Make my first iPhone app in 16 weeks” series.

Assignment 3 of Stanford U Coding Together course is done!

assignment-3

Some of the most challenging part of this assignment was using Bezier Path to draw the shapes in the Set game. Though if used right, Bezier path provides a very powerful way to draw any shape in the scalable vector format. However, it would take excessive amount of time to do so. I found this app online that I might consider using.

http://www.paintcodeapp.com/

Day 27 – Make my first iPhone app in 16 weeks (Bezier Path vs. Core Graphics)

I spent a lot of time learning the basics of Bezier Path and Core Graphics to finish the assignment 3. Both are very powerful tool if you can use them to their full capabilities.

Bezier Path – Class with methods, properties and constants.
Core Graphics – C API framework. All CG functions (not methods), and datatypes are pre-fixed with “CG” and constants with “kCG”

Some more doodles.

tiny doll

tiny doll

hello world

hello world

Day 23 – 25 – Make my first iPhone app in 16 weeks (Let me doodle)

This is part of “Make my first iPhone app in 16 weeks” series.

I’ve been studying iOS development very vigorously and consistently but I had to demonstrate that I haven’t lost my right side of brain. I bought dotted paper, color pencils and a black fine marker.

inner artist tools

inner artist tools

Then I started drawing whatever comes to my mind.

dad's glasses

dad’s glasses

lonely droplet

lonely droplet

laundry

laundry

lost in the sea

lost in the sea

introspection

introspection

Day 22 – Make my first iPhone app in 16 weeks (Find Your Must)

This is part of “Make my first iPhone app in 16 weeks” series.

After a long day of studying iOS development, I went to a talk given by Elle Luna (real cool name and even cooler talk). She had a very high profile career as a designer at Uber and Mailbox. She left her cushy job to be lost in the sea in the quest to find a new land (or her own Mt. Everest as she described) to conquer. I felt inspired immensely by her talk and loved the way she visualized her entire presentation with her own artwork. I highly recommend watching her presentation.

http://www.designersandgeeks.com/events/find-your-must

Day 21 – Make my first iPhone app in 16 weeks (Guido van Rossum)

This is part of “Make my first iPhone app in 16 weeks”

Today was yet another day I realized how fortunate I am to be in the bay area. I went to a Python meet up and got to meet the very person that wrote my favorite language – Python! I thought he’d be an ancient man who is 120 years old that has no sense of humor whatsoever. But I was wrong! He’s younger than I expected, wittier than I ever imagined and had a very cool accent!!!

Me and my hubby, Jasper grinning ear to ear besides the Great Guido.

Guido van Rossum

Guido van Rossum

me_jasper_guido

me_jasper_guido

Day 20 – Make my first iPhone app in 16 weeks (Stanford U Coding Together 2013 Assignment 2-Set Game)

This is part of “Make my first iPhone app in 16 weeks” series.

In the assignment 2 (Set Game), I learned how to use AttributedString. AttributedString makes it possible for each character in a sentence to have a dictionary of attributes. This affords great flexibility for the developer to change the look and feel of each character yet it is very difficult and cumbersome to use this functionality.