How to have UITextfields and never have them obscured.


How to make a basic interface perform really well.


From time to time as a developer working on an iOS project you might see a ticket of work like this:

That same old bug

I see this ticket in many iOS projects and the reason it ever exists in my opinion is that behaviour of interfaces is often not specified and therefore a developer can think that their job is done when it actually isn’t.

Here is a video of the problematic behaviour:

There is a repository for this post and here is…

Bieber Ticket


Ticket discipline starts in elaboration.

When we work in an agile environment we can expect to be given work in ticket form. The ticket is one of the glues of the agile environment, so it follows that good tickets promote a good working environment and bad tickets …


What happens when there is a bad ticket?

An image we’ve all seen before . . . of a springboard!

The Springboard or app switcher is the UI/UX interface in iOS for switching between applications. It’s great but sometimes as developers of apps, we forget that the iOS is evolving with each release and some behavioural changes can trip us up.

Recently, a tester working on an app with me pointed out that it’s posible to see sensitive [payment] information on the app while it is in the springboard. This shouldn’t happen and the app had previously employed a [working] technique to obscure this information. Something had “broken”.

Designer: Can you have a look at the fonts on the login screen? The kerning doesn’t match the designs I gave you.

Developer: WhatTheWhat is Kerning?

There was a time when such conversations could lead to …

Kerning Examples — courtesy Wikipedia

Kerning is the typographical adjustment of the space between character glyphs.

That sounds quite complex and guess what it can be. In the WAR image above the top line has no kerning, the middle line has ‘automatic’ kerning and the bottom line has ‘manual’ kerning; which means some glyphs are kern(ed) more than others.

Luckily, most of the time in app development…

CoreData can seem something of a mystery but there are many techniques and 3rd party libraries available to make life more bearable while at the same time getting downright dirty with the power available in CoreData.

Create Read Update Delete

Databases are essentially CRUD systems and when we as developers use them it’s a really good idea to know when a record in the database was created and when it was last updated.

Date Stamping

Say we have a member variable of a NSManagedObject, date_created and another member variable date_modified.

Many a time I have been asked to implement a drop down text field in an iOS app.

Thankfully those times are getting rarer and recently I had a lightbulb moment and suggested we use an Input Accessory View to facilitate text field choices for the user.

Input Accessory View’s are common place these days in iOS, here’s one for reference.

Input Accessory View often used to help out during form filling.

My problem was to show the user a list of previously entered email addresses in a UITextField.

Because device footprint is an absolute premium in mobile it’s often beneficial to take a moment during design or elaboration phases of…

Damien Laughton

Damien Laughton is a London based contract iOS Developer. Currently a technical team lead at Future Platforms.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store