If you localize your apps, you might have a .strings file for the various translations. Text that flows nicely in English, might flow rather horribly in Germany, which often uses much longer words. Using a soft hyphen will allow you to avoid that awkward spacing. To add one in your soft-strings use \U00AD Within Swift […]

By default a UILabel doesn’t get any copy & paste commands in iOS. After all, it’s a label, why would you want to copy a label? It turns out, you might want to do that, if you are “abusing” a label to show something useful and in that case you probably want the entire label […]

When you are ready to localize your App, Xcode will auto-generate a Main.strings file for your Main Storboard. In that file every element of the User Interface (labels & more) are listed in the following format:

Swift

1

2

/* Class = "UILabel"; text = "Subtitle"; ObjectID = "y5E-9n-LU8"; */

"y5E-9n-LU8.text"="Untertitel";

That’s a pretty awesome format, as it makes localization quick and simple. However, if you add Elements after […]

When aligning a UITextView with other labels on the screen, the inset becomes an issue. It is easy enough to work around, however if you wanted to just “switch” them off, you can add the following to your ViewDidLoad Function:

For a project I needed to validate a 13 digit ISBN. According to Wikipedia you can validate an ISBN by calculating the checksum, but more accurately calculating the check-digit of an ISBN as follows: The ISBN-13 check digit, which is the last digit of the ISBN, must range from 0 to 9 and must be […]

UIColors require you to enter red, green and blue as values between 0 and 1. In pracitcal terms that means you need to divide your values by 255 to obtain the CGFloat required. Easy enough? Surely! Still it is a tad annoying, especially as the rest of the world will give you RGB values between […]

TableViews can have a useful feature to refresh the data inside of them, simply pull to refresh. Apple didn’t invent this, that was Loren Brichter of Tweetie, which was sold to Twitter and Twitter was eventually granted a Patent for the feature. Today this feature is absolutely ambiguous and very easy to implement. For example, […]

I have no apps in the app store, but a while ago I wrote an app for my own edutainment, which needed to parse JSON Data. At the time it was so darn complicated, that I enlisted Cocoapods and SwiftyJSON to help make things easier. SwiftJSON is pretty cool as it abstracts away a lot […]

I sure am going to be unpopular, but I don’t get why an App is allowed to make “silent” network requests – in other words: I don’t get why the Network Indicator isn’t shown by the OS to alert users that there is network activity going on. However if you have a function, which makes […]

I needed to convert a Unix Timestamp, which for some inexplicit reason was being returned as a String by an API I was using and this is the super foolish function I ended up with. I am not going to shame the API Provider for returning a timestamp as a String 😉

Swift

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

funccreateDateTime(timestamp:String)->String{

varstrDate="undefined"

ifletunixTime=Double(timestamp){

letdate=Date(timeIntervalSince1970:unixTime)

letdateFormatter=DateFormatter()

lettimezone=TimeZone.current.abbreviation()??"CET"// get current TimeZone abbreviation or set to CET

dateFormatter.timeZone=TimeZone(abbreviation:timezone)//Set timezone that you want