Mit UISegmentedControl als button

In meinem code, den ich verwende einen UISegmentedControl als ein "button" mit nur EINEM segment und die momentary - Eigenschaft auf YES. In den Versionen des SDK vor iOS 4 war dies kein problem, aber es scheint, dass jetzt iOS 4 verlangt, dass es mindestens 2 Segmente. Der folgende code löst eine Ausnahme:

NSArray *titles = [NSArray arrayWithObject:@"Button Title"];
myButton = [[UISegmentedControl alloc] initWithItems:titles];

und nun im Interface Builder, die Sie selbst nicht schaffen eine UISegmentedControl mit weniger als 2 Segmente. Es meldet den folgenden Fehler beim bauen:

"Die Anzahl der Segmente, die Eigenschaft eines segmentierten Kontrolle muss größer als oder gleich 2 ist."

Bin ich irgendwie ratlos. Jede Arbeit, Tips und Tricks dafür? Ich habe versucht, zu erstellen eine UISegmentedControl mit zwei Knöpfen und entfernen Sie dann eine programmatisch-und das "funktioniert", wie es nicht dazu führen, dass die app zum Absturz. Bekomme ich einen button in iOS 3 und nichts in iOS 4. Irgendwelche Ideen?

  • Das nervt mich auch. Ich verwende es als Ersatz für die "Glas" - Taste, die Apple noch nicht in den öffentlichen Teil des SDK.
  • Ich verwendet, um das gleiche zu tun für die farbigen Tasten in iOS3, aber Sie scheinen zu haben, entfernt diese Funktion in iOS4.
  • Wie es aussieht, haben Sie vergessen, die null als zweite element im Titel-array. Siehe unten meine Antwort für funktionierenden code.
  • arrayWithObject: dauert nur ein argument. Sie denken arrayWithObjects:
  • Sorry, du hast Recht. Aber die Quintessenz ist, dass arrayWithObjects mit null als zweiten parameter, wird den trick tun.
InformationsquelleAutor Adolfo | 2010-07-16
Schreibe einen Kommentar