Some background: the first release of our [music practice Soundproof](https://soundproofapp.com) was “Waiting for Review” in the last week of September when my iPhone 6 arrived. I ran the app on the iPhone 6 and of course got the stretched up iPhone 5 UI. It was OK, but a bit “Duplo” shall we say. Also our very subtle background gradient was being stretched. Nobody else would notice but… there is pride to consider.
Today, I had to implement UITableView row re-ordering for the first time. The cells had showsReorderControl set to YES, and my delegate was implementing tableView:canMoveRowAtIndexPath: returning YES and still the handles would not show when tableView.editing was set to YES. The solution? Your dataSource must also implement tableView:moveRowAtIndexPath:toIndexPath: for the handles to show, even if it does nothing – although it must do something to have any lasting effect on your model. The docs do […]
My first iOS app has some UI elements that use OpenGL. It’s been interesting learning to optimise this particular part of the app for 60fps (60 frames per second) rendering. You hear 60fps being talked about a lot with iOS UI development, and there is very good reason for this. If what you are doing animates in response to touches, 60fps updates are essential to avoid it feeling laggy. Apple spent a lot of time […]
I had a fun little problem in my work-in-progress iOS app recently. The app recognises a pan gesture on the main view, but also has some buttons as subviews of the main view. Think a white rectangle that receives pan gestures, and a UIButton in the middle of that view. Everything worked fine in the simulator. Panning worked. Tapping the button worked. Not so on a real device.