Henrik Carlsson's Blog

Scrolling a UIView to keep the keyboard from obstructing the view of the current UITextField

Wow, that’s an unwieldy title!

Anyway, during some spare time today I’ve struggled with something in Objective C and Cocoa Touch that I’ve been struggling with before. When a UITextField in an iOS app becomes ”active”, allowing the user to enter text, almost half of the screen gets covered by the software keyboard. That’s all well and good, but that keyboard is likely to obstruct the view of something, maybe even of the UITextField in question and that’s not good.

To avoid this problem, I the developer am supposed to move or resize (or something) the view. There are multiple questions about this on StackOverflow and multiple answers. After some digging and a lot of trial and error I came up with a solution that differed at least somewhat from all other solutions that I could find. As far as I can tell my solution works and it’s pretty short in terms of code, which I like.

I don’t know, maybe it’s a bad solution. If so, please let me know.

The solution

First, embed all the views that need to move inside a UIScrollView.

In my case I have multiple UITextFields that needs to move so I placed them all inside a UIScrollView. I then added the following property to my ViewController:

This property is updated on textFieldShouldBeginEditing like so:

Then , in my viewDidLoad I added the following two observers:

These will trigger the methods keyboardDidShow and keyboardDidHide when the keyboard appears and disappears respectively. It is in those methods that ”the magic” happens:

Coda

As I said, this works but it’s very possible that it’s a bad solution. If you like the solution, feel free to use it. If you think it’s bad, please tell me so and why so that I can learn and become a better programmer.

Maciej Ceglowski’s Heroic and Lazy Stand Against IFTTT

Microcast #35

Swedish translations of the James Bond movie titles. Part 15 – The Living Daylights

Download and listen to Microcast #35

(Also on Anchor.)

Microcast #34

Part 14 in my waves on Swedish translations of the titles of James Bond movies – A View To A Kill.

Download and listen to Microcast #34

(Also on Anchor.)

Microcast #33

Swedish translations of the James Bond movies. Part 13 – Octopussy.

Download and listen to Microcast #33

(Also on Anchor.)

Microcast #32

Just a quick ”follow up” to the episode on ”For Your Eyes Only”.

Download and listen to Microcast #32

(Also on Anchor.)

Microcast #31

Swedish translations of the James Bond movies. Part 12 – For Your Eyes Only

Download and listen to Microcast #31

(Also on Anchor.)

Microcast #30

Swedish titles of the James Bond movies. Part 11 – Moonraker.

Download and listen to Microcast #30

(Also on Anchor.)

Microcast #29

Swedish titles of James Bond movies – The Spy Who Loved Me

Download and listen to Microcast #29

(Also on Anchor.)

Microcast #28

Swedish titles of the #JamesBond movies. Part 9 – The Man With the Golden Gun

Download and listen to Microcast #28

(Also on Anchor.)

Microcast #27

The sound of spring. Snow melting and birds singing.

Download and listen to Microcast #27

Also on

Iris och jag jobbar från utomhuskontoret idag.

Iris och jag jobbar från utomhuskontoret idag.

(Also on Instagram.)

Microcast #26

Swedish titles of the James Bond movies. Part 8 – Live and Let Die

Download and listen to Microcast #26

(Also on Anchor.)

Microcast #25

Part 7 in the series of Swedish translations of the James Bond movie titles – Diamonds Are Forever.

Download and listen to Microcast #25

(Also on Anchor.)

Microblog #24

Some (early) thoughts on the new single by kent, Egoist.

Download and listen to Microcast #24

(Also on Anchor.)

Kent.nu – Officiell hemsida för Sveriges största rockband – Kent | Officiell hemsida för Sveriges största rockband

Nu är det officiellt, kent lägger ner senare i år men först blir det en sista platta och en sista turné.

Det här är inte slutet för att vi har tråkigt tillsammans eller för att vi inte vill något längre.Det här är slutet för att de bästa av alla gårdagens och morgondagens fester har ett avsked i sig.Vi ser oerhört mycket fram mot att möta er alla en sista gång på turnén i höst.Det kommer bli skitkul!

[…]

I morse släpptes första singeln, Egoist, från bandets kommande tolfte studioalbum, Då Som Nu För Alltid (RCA/Sony), som alltså blir kents sista.

kent går i graven – startar sista färden med Egoist | Kent.nu – Officiell hemsida för Sveriges största rockband – Kent

Singeln verkar ännu så länge bara finnas på Spotify. Jag har lyssnat en gång och ska lyssna mer innan jag kommenterar den.

(Om du vill läsa fler inlägg av mig om kent så kan du kolla taggen kent.)

Microcast #23

Are there any fans of the band kent on Anchor?

Download and listen to Microcast #23

(Also on Anchor.)

Det verkar som att kent lägger ner. Tack för all musik och alla minnen som ni gett oss under så många år!

https://www.youtube.com/watch?v=bubOcI11sps

Microcast #22 (On Her Majesty’s Secret Service)

Part 6 in my series on Swedish translation of James Bond movie titles: On Her Majesty’s Secret Service.

Download and listen to Microcast #22

(Also on Anchor.)

Microcast #21 (You Only Live Twice)

The Swedish titles of the James Bond movies, part 5 – You Only Live Twice.

Download and listen to Microcast #21.

(Also on Anchor.)

Microcast #20 (Thunderball)

Part 4 in the series of Swedish titles of James Bond movies – Thunderball

Download and listen to Microcast #20

(Also on Anchor.)

Microcast #19

I just (re)watched American Beauty.

Download and listen to Microcast #19

(Also on Anchor.)

Microcast #18 (Goldfinger)

Time for part 3 in the series of Swedish titles of the James Bond movies – Goldfinger.

Download and listen to Microcast #18

Also on
* Anchor
* Twitter

Microcast #17 (From Russia With Love)

Part 2 in my series about Swedish movie titles. This one is about From Russia With Love.

Download and listen to Microblog #17

Also on
* Anchor
* Twitter

Microcast #16

Swedish translation of movie titles. Part 1: Dr. No.

Download and listen to Microblog #16

(Also on Anchor.)

Microcast #15

I’ve been trying to come up with some sort of ”theme” for my waves and microcasts. Just something semi-silly to speak about to keep me in the grove of posting and I think I’ve got something.

Download and listen to Microblog #15

(Also on Anchor.)

Om snöröjningen var lika dålig på bilvägar som den är på en del gångbanor och trottoarer så skulle motormännen göra väpnad revolt.

Tech Companies to Unite in Support of Apple – WSJ

Several tech companies, including Google parent Alphabet Inc., Facebook Inc. and Microsoft Corp., plan to file a joint motion supporting Apple Inc. in its court fight against the Justice Department over unlocking an alleged terrorist’s iPhone, according to people familiar with the companies’ plans.

Tech Companies to Unite in Support of Apple – WSJ

This is old news now but since I’ve written about this issue before and specifically called out other tech giants for not standing by Apple I thought I should link to this.

Det gör mig så ledsen

Jag mår så dåligt varje gång jag ser ett reportage om flyktingarna som förtvivlat försöker ta sig till Europa och jag hatar våra politiker som fokuserar på att göra det svårare för dem, istället för att fokusera på asylrätten och på att rädda liv.
Förhoppningsvis så kommer åtminstone historiens dom över dagens europeiska ledare bli stenhård.

Säg nej till separata badtider – Barometern

De rättigheter som 1900-talets svenska kvinnor arbetat så hårt för, och de attityder som de banat vägen för, ska inte förkastas bara för att några få individer i samhället anser sig ha rätten att bada ensamma. Dessa religiösa människor har ingen rätt att anpassa samhället efter sina religiösa eller kulturella behov. Sverige ska nämligen vara jämställt och sekulärt.

Ronja Ismail, Säg nej till separata badtider – Barometern

Precis så. Religionsfrihet innebär din frihet att utöva din religion men också övrigas rätt att vara fria från din religion. Om ditt religionsutövande kommer på kollisionskurs med det sekulära samhället så är det du, inte samhället, som får anpassa dig.

The ”Resolve missing media” function in Ableton Live is a really, really broken thing. Why is assets handling so poor in so many DAWs?

(Also on Twitter.)

Det känns så värdelöst att lägga tid på att utreda om studenter fuskat eller inte. Ännu värre när jag märker att de faktiskt har gjort det.

Microcast #14

A short description of who I am.

Download and listen to Microcast #14

(Also on Anchor.)

Ni som kan sånt hör bättre än jag, var Nato en del av invasionen av Afghanistan?
Det är 28 låtar med i Melodifestivalen i år va? Det kan väl omöjligen vara de 28 bästa låtarna som skrivits i Sverige det senaste året?

(Även på Twitter.)

När jag var på promenad idag stötte jag på de här. De är lite väl översnöade så det är inte helt lätt att se att det är #R2D2 och #BB8. (Utanför bilden fanns även en AT-AT Walker.) Mycket kreativt av den som gjorde dem.

När jag var på promenad idag stötte jag på de här. De är lite väl översnöade så det är inte helt lätt att se att det är #R2D2 och #BB8. (Utanför bilden fanns även en AT-AT Walker.)
Mycket kreativt av den som gjorde dem.

(Also on Instagram).

Ni känner igen känslan; man skickar svaret på det sista mailet i inboxen och precis då ramlar tio nya in. Det är samma sak med tvättkorgen.
Ni kan vara hur nöjda ni vill över ”Inbox Zero”. Själv når jag snart Tvättkorg Zero. Det är fan en så mycket större bedrift!

(Även på twitter.)