Using a static UITableView as a layout device

The problem It wasn't long after I started iOS development that I realised that UITableView can be used not just as a way of displaying a list of items but also as a way of managing a vertical layout of almost any interface. Especially when the height of the interface is variable and needs to […]

Controlling "animations" with a UIScrollView

This is something that I've done a number of times myself but also something that I see fairly regularly popping up on Stack Overflow. The idea is to change something based on the content offset of a scroll view. Example of changing the background colour based on scroll position. I wouldn't actually do this in […]

Animate with springs!

Today I was having a look at some of the different UIView animation block methods and I noticed one that I'd never seen before. I read the docs and it is an amazing little function added for iOS 7. The function (which is a bit of a mouthful as usual) is... [UIView animateWithDuration:(CGFloat)duration delay:(CGFloat)delay usingSpringWithDamping:(CGFloat)damping […]

Why I wish I'd never used Magical Record

The first time I used Core Data I thought it was amazing. However, I got it all very wrong. I had "helper" functions in the App Delegate, I didn't use any relationships in the data model, etc... All very wrong. Then I learned more about it and did it all myself again, this time it […]

NSCalendar isDate:equalToDate:toUnitGranularity:

During the beta releases of iOS 7 there were several mentions of a couple of new functions on NSCalendar. - (BOOL)isDate:(NSDate *)date1 equalToDate:(NSDate *)date2 toUnitGranularity:(NSCalendarUnit)granularity; - (NSComparisonResult)compareDate:(NSDate *)date1 toDate:(NSDate *)date2 toUnitGranularity:(NSCalendarUnit)granularity; When I first saw these it was awesome. It makes comparing dates a hell of a lot easier and puts a lot of maths […]

The Hamburger Menu - is it a good thing?

I've always been doubtful about the "Hamburger menu" in iOS apps. For those who don't know what I'm talking about it is this style of side menu used more and more in apps recently... It gets its name from the icon on the button used to open and close it that looks like a hamburger. […]

Interface Builder Y U no like auto layout?!

OK, a simple idea in auto layout terms... I have a view, it has several buttons on it. All buttons will have equal widths. All buttons will have default spacing (between adjacent buttons and the superview). Width of buttons therefore specified by width of super view. In code it would go something like this... // […]