Ungehemmte Zwänge

oder wie man sich mit iOSLayoutConstraints anfreundet

Für viele Xojo-iOS-Anwender ist, liest man das Forum, das AutoLayout von iOS ein Grund, regelmäßig das Kriegsfahrrad auszubuddeln. Die Ähnlichkeit der IDE bei der Gestaltung von iOS-Benutzerinterfaces mit der einer Desktop-Anwendung verleitet dazu, den gleichen Arbeitsstil zu benutzen: Steuerelement aufs Layout ziehen und erst einmal ausprobieren; Feinangleichung kann später folgen.

Was auf dem Desktop funktioniert, geht bei iOS gerne in die Hose: Die Steuerelemente stehen einfach nicht dort, wo sie stehen sollten. Rotiert man das iOS-Gerät oder schaltet im Simulator auf eines mit einem anderen Display, wird es ganz übel – AutoLayout greift ein und erzeugt einfach nicht das gewünschte Bild.

weiterlesen

Diplomatisch delegieren

Ein Anwendungsfall aus der alltäglichen Praxis: Man hat ein Auswahl-Element, sagen wir mal ein PopupMenu, und ein Ausgabeelement – vielleicht einen Canvas –, das aufgrund der Auswahl im ersteren ein passendes Resultat zeigen soll.

DelegateWinDelegate.png

Häufig geht man dann so vor, dass der Change-Event im PopupMenu den Canvas invalidiert, und in dessen Paint-Event wird dann geschaut, was im PopupMenu steht. Eine mitunter ellenlange Select Case- oder If … ElseIf – End If-Anweisung macht den Code dann zum Roman.

weiterlesen

Mit spitzer Nadel

oder Wie funktioniert das eigentlich mit den Threads?

Ein Problem, in das man beim Programmieren mit Xojo schnell mal geraten kann, sind die tight loops – Programmschleifen, die die CPU beschäftigt halten und dafür sorgen, dass das Betriebssystem keine Zeit bekommt, Veränderungen der Grafischen Benutzeroberfläche – der GUI – anzuzeigen, weil der Programmcode ihm keine Luft gibt. Das Resultat sind die üblichen Signalisierungen des Beschäftigtseins – der bunte Beachball kreiselt auf dem Mac, unter Windows wird ein Kreis neben dem Mauszeiger angezeigt. Dumm für den Benutzer, denn er ist sich unsicher, ob wirklich noch etwas passiert oder das Programm bereits ins Datennirvana übergetreten ist.

weiterlesen

Alle schön der Reihe nach!

Heute wieder einmal ein Anwendungsfall aus der Praxis. Besonders gerne stelle ich meine Programmierarbeitskraft zur Verfügung, wenn es darum geht, Arbeitsabläufe zu analysieren und daraus ein Programm zu stricken, das mühselige manuelle Vorgänge automatisiert. Ganz ganz besonders gerne mache ich das, wenn der Auftraggeber auch einen für mein kapitalismus- und marktkritisches Gemüt positiv erscheinenden Unternehmenszweck verfolgt.

weiterlesen

Die starke schwache Referenz und ihre Zählung

Auch diesmal wieder eine Übersetzung eines XojoBlog-Beitrags, diesmal vom spanischen Kollegen Javier Rodriguez – aber auch eine Antwort auf eine mich kürzlich erreicht habende Frage zum modernisierten REALife-Projekt. Die drehte sich darum, warum ich das Fenster als Property der Board-Klasse (dem „Spielbrett“ des Game of Life-Programms) so kompliziert in eine WeakRef verpacke, anstatt es einfach als Window zu speichern.

weiterlesen