Problem beim Hochladen von .xls Dateien auf karteikarten.claaslange.de
Momentan gibt es leider ein Problem, wenn versucht wird, .xls Dateien auf http://karteikarten.claaslange.de hochzuladen.
Nach dem Upload wird nur ein leeres Set angezeigt, dass keinerlei Daten enthält.
Ich arbeite an einer Fehlerbehebung und bitte die Unannehmlichkeiten zu entschuldigen.
Nachtrag:
Der Fehler wurde behoben. Es sollte jetzt wieder möglich sein, neue Sets zu erstellen.
Karteikarten 1.4 veröffentlicht
Soeben wurde Version 1.4 von Karteikarten von Apple veröffentlicht. Version 1.4 enthält einige Bugfixes, die Bugs beheben, die unter anderem zu verdoppelten Karten und einer Vertauschung von Vorder- und Rückseite führen konnten. Diese Bugs dürften bisher aber nur einer geringen Zahl von Nutzern begegnet sein.
Das Feature, das durch Version 1.4 eingeführt wird, ist die Neuanordnung von bestehenden Sets. Bisher wurden neue Sets immer nur an das Ende angefügt. Eine sinnvolle Sortierung, die besonders durch die Hinzufügung des Importierens nötig wurde, war noch nicht möglich. Version 1.4 behebt diesen Mangel, wodurch Karteikarten jetzt noch effektiver genutzt werden kann.
Wenn Fragen oder Verbesserungsvorschläge zu Karteikarten vorhanden sein sollten, schreibt mir einfach eine Email an support [at] claaslange.de.

Karteikarten auf dem iPad
Gestern hat Apple bekannt gegeben, dass das iPad ab 3. April in den USA verfügbar sein wird. Deutschland und der Rest der Welt sollen dann im späten April folgen. Zeit also, sich damit zu beschäftigen, wie ich Karteikarten (mit weiteren Features) auf das iPad konvertieren kann. Das der gleiche Ansatz, wie auf dem iPhone nicht funktionieren wird, ist dabei wohl klar.
Das iPad basiert zwar auf derselben Plattform wie das iPhone hat aber dennoch ganz andere Ansprüche. Deshalb wird sich Karteikarten auf dem iPad auch von Karteikarten auf dem iPhone unterscheiden. Die Daten werden sich zwar zwischen den beiden Geräten synchron halten lassen, aber doch wird die iPad-Version anders aufgebaut sein.
Die iPhone Version basiert auf dem Konzept der Einfachheit. Gelange so einfach und schnell wie möglich zu deinen Vokabeln, um sie lernen zu können. Das iPhone ist in erster Linie zum Konsumieren gedacht. Die Erstellung ist seit Version 1.3 auch auf einem Mac oder PC möglich und in Zukunft wird diese Möglichkeit noch weiter ausgebaut werden.
Das iPad hingegen ist kein Gerät, dass man aus seiner Tasche zieht, wenn man mal eben 5 oder weniger Minuten Zeit hat. Längere Benutzung hingegen erfordert ein anderes Interaktionsmodell, dem ich mit der iPad Version Rechnung tragen will.
Da diese Konzepte sich entgegenstehen, wird die iPad Version auch von der iPhone Version getrennt verkauft werden. Der eigentliche Grund für diesen Beitrag ist aber ein kleiner Screenshot von dem aktuellen ersten Entwurf der Setansicht in Karteikarten für das iPad.

Create a good looking gray UISearchBar
If you happen, to have used some iPhone Apps like Tweetie, or Taskpaper you certainly have seen their nice looking gray search bars. Since I wanted to use a gray search bar in Karteikarten 1.3 I had to search for an easy way to create the gray color.
The first idea that came to my mind was simply changing the tint color in Interface Builder. At first this seems to be the correct way for doing this. But when you use it in an application you see, that the UIsearch bar Cancel Button just looks wrong. It has the same color as the search bar and therefor it looks inactive.
So this doesn’t do the trick. I read some different ways on the web, like going through the subviews of the search bar and changing the color of the button. But this is dangerous, since an future iPhone OS update may will break your code. It’s like using an private api. There has to be an easier way. And indeed there is.
I found the solution in some sample code provided by Apple actually. The trick is fairly simple: Use the Default style of the search bar and adjust the opacity of the tint color to 0. That’s all you have to do. The result:
If you want to see it for yourself download the “TableSearch” sample code from Apple.
Karteikarten 1.3 veröffentlicht
Seit nun mehr 3 Tagen ist die Version 1.3 von Karteikarten im App Store erhältlich. Wie bereits im letzten Eintrag erwähnt, bringt Version 1.3 einige Verbesserungen mit sich.
Kleinere Updates wurden im letzten Eintrag erwähnt. Eine leichte Veränderung, was das Design der Karten betrifft, sowie eine Verbreiterung der Karten, um mehr Inhalt zu ermöglichen. Zudem ist es möglich Leerzeilen einzugeben, um den Inhalt der Karten besser zu organisieren.
Die wesentlichen Änderungen sind aber zwei andere: eine Suchfunktion innerhalb der App, sowie die Möglichkeit Karteikarten am PC zu erstellen und diese dann zu importieren, um sie mobil nutzen zu können. Ersteres ermöglicht es dir deine gesamten Karten zu durchsuchen, wenn du z.B. eine Vokabel nachschlagen möchtest.
Zweiteres wird durch den Karteikarten Importer ermöglicht. Hier kannst du deine Karteikarten, die du mit verschiedenen Programmen (von Microsoft Excel, bis hin zu einem einfachen Texteditor) erstellen kannst. Ausführliche Informationen hierzu findest du auf der Website des Importers.
Karteikarten Version 1.3
Viel ist geschehen seit Version 1.0. Ein neues Icon, viele neue Funktionen, verschiedene kleinere Verbesserungen, die alle das Ziel hatten, die Bedienung von Karteikarten noch einfacher zu machen. Version 1.2 ist jetzt die Version, die Karteikarten 1.0 vielleicht hätte werden sollen. Was als nächstes kommen wird ist Version 1.3, welche wahrscheinlich auch das letzte große Update der 1.x Reihe sein wird.
Bisher sind in Version 1.3 verschiedene kleine Verbesserungen eingeflossen. Die Größe der Karteikarten wurde verändert und bietet jetzt mehr Platz für Inhalt und auch das Design der Karten wurde leicht verändert. Außerdem besteht nun die Möglichkeit Leerzeilen einzufügen, um den Inhalt der Karten besser zu strukturieren. Das große Feature der Version 1.3 werde ich allerdings noch nicht bekannt geben. Falls Interesse besteht an einem Beta-Test teilzunehmen, meldet euch bei der E-Mail Adresse, die im Impressum steht. Ich werde mich dann melden, sobald die Testphase beginnt.
Falls Wünsche, Anregungen oder Vorschläge für Karteikarten bestehen, schreibt mir hier oder unter der vorher genannten E-Mail Adresse. Karteikarten lebt davon, dass sich die Benutzer am Entwicklungsvorgang beteiligen. (Ein Sync Feature wird es wohl erst mit Version 2.0 geben).
Beta Tester für Karteikarten 1.2
Wer @Karteikarten auf Twitter folgt, hat in den letzten Tagen bereits einige der Neuerungen in Version 1.2 gesehen. Für diese Version benötige ich einige Beta-Tester, die das Programm ausführlich testen und mir Fehler oder Verbesserungsvorschläge mitteilen.
Wer Interesse hat, möge sich über die Kontaktdaten im Impressum oder über Twitter bei mir melden.
How to add an UITextfield to an UIAlertView
For one of my applications I needed some sort of quick entry. Since I knew the AppStore.app let’s you enter your user credentials with two textfields inside an alertview I searched around to accomplish my quick entry the same way. But unfortunately there was no official way of doing this. So I poked around a little more with class-dump and found some methods, that handles this task perfectly.
I think the code is pretty self-explanatory, so here it is (just the important parts).
This is how you create the alertview
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | - (void)showAlertView { // Create the Alert UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"Alert with textfields" message:nil delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil]; // addTextFieldWithValue:label: will add one UITextfield at a time // Use a label to indicate, what should be inserted [myAlert addTextFieldWithValue:nil label:@"Label"]; // Use value if you want to define a value from the beginning [myAlert addTextFieldWithValue:@"Value" label:nil]; // This shows how you can access a specific textfield [[myAlert textFieldAtIndex:0] setTextAlignment:UITextAlignmentLeft]; [[myAlert textFieldAtIndex:0] setAutocapitalizationType:UITextAutocapitalizationTypeNone]; [[myAlert textFieldAtIndex:1] setTextAlignment:UITextAlignmentLeft]; [[myAlert textFieldAtIndex:1] setAutocapitalizationType:UITextAutocapitalizationTypeNone]; // Always call becomeFirstResponder before showing the alertView. Otherwise you will get two keyboards [[myAlert textFieldAtIndex:0] becomeFirstResponder]; // show the alert just as usual [myAlert show]; [myAlert release]; myAlert = nil; } |
And this is how you get the values of the textfields
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #pragma mark UIAlertViewDelegate methods - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { switch(buttonIndex) { case 0: // the cancel button was pressed, so there is nothing to do break; case 1: // this means the "ok" button was pressed. Do whatever you want with the text // this shows how you access the value of the specific textfields NSLog(@"First textfield: %@",[[alertView textFieldAtIndex:0] text]); NSLog(@"Second textfield: %@",[[alertView textFieldAtIndex:1] text]); break; } } |
Here is a screenshot of the result:

The downsides
As this is undocumented code there is no guarantee that your code won’t break with an future release of the iPhone OS. Also there is a chance that your application will be rejected, since your using private api calls. (Though you do not have to link against private libraries.). At least Xcode will throw up some ugly warnings. But I added a category to UIAlertView, that adds this methods to interface of UIAlertView.
UPDATE: Apple now scans your uploaded binary for use of undocumented apis and will reject your app, if you make use of these calls. So this way is okay, if you just want a quick prototype, but not, if you want to publish the app (via the AppStore).
Sample Project
I added a sample Xcode Project, you can download. Feel free to use the code. If you add some modifications just drop me a line ![]()
![]()
Karteikarten Version 1.1
Nachdem Karteikarten Version 1.0.1 von Apple abgelehnt wurde, da sich ein Fehler eingeschlichen hatte, der das Programm zum Abstürzen brachte. Da 1.0.1 kein kritisches Update ist, habe ich mich entschlossen, dieses Update zu streichen und stattdessen vermehrt an Version 1.1 zu arbeiten.
Karteikarten 1.1 enthält zwei der meistgewünschsten Features. Zuerst kann man nun die Lernrichtung für eine gesamte Kartei jederzeit schnell und unkompliziert ändern. Das andere Feature muss ich nicht lange in Worten beschreiben. Dafür reicht ein einziges Bild:

Kleine Vorschau auf Karteikarten 1.0.1
Ein kleiner Blick auf Version 1.0.1 von Karteikarten, die momentan von Apple kontrolliert wird. Die auffälligste Neuerung ist die des Icon. Leider scheint das bisherige Icon nicht international genug zu sein, weshalb ich mich entschlossen habe, das Icon zu überarbeiten. Zudem behebt es einen kleinen Bug, der aber nur einen kleinen Teil der Nutzer betraf.
Demnächst folgen Infos zu Karteikarten 1.1




