Custom UIPickerView?
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
Ja, ist nicht schwierig.
Ein verständlicher (!) Beispielcode würde dir "schon" helfen... Soso... Was bezahlste?
Das sollte doch schon mit dem mitgelieferten Picker View möglich sein!?
Ansonsten Einfach UIPickerView subclassen und drawRect überschreiben. -
-
DroneDeveloper schrieb:
Ja, ist nicht schwierig.
Ein verständlicher (!) Beispielcode würde dir "schon" helfen... Soso... Was bezahlste?
Das sollte doch schon mit dem mitgelieferten Picker View möglich sein!?
Ansonsten Einfach UIPickerView subclassen und drawRect überschreiben. -
siehe oben.„Meine Komplikation hatte eine Komplikation.“
-
macmoonshine schrieb:
Die Anpassung der Zellen ist relativ einfach. Dazu solltest Du Dir mal das UICatalog-Beispiel von Apple ansehen. Ob Du den Rahmen anpassen kannst, ohne Implementationsdetails zu verletzen, wage ich zu bezweifeln.macmoonshine schrieb:
siehe oben. -
UIView alpha ?
und dann ggf. über Subviews rangehen. -
sorry, aber ich weiß nicht wie du das meinst.
-
Das einfachste, was evtl. in deinem Beispielbild gemacht wurde:
Ein transparentes Bild oben drüber legen (mit transparentem Fenster für den Picker in der Mitte).
Darunter dann der Fake-Hintergrund ebenfalls mit dem transparenten Fenster in der Mitte.
Bei dynamischem Hintergrund müsste man dann evtl. vorher den Screeninhalt "abfotografieren".
Rein/Raus Animationen dürften dann aber recht hässliche Glitches offenbaren solang man nicht viele Klimmzüge macht.
Aber es wäre eben ohne Hacks.
Falls man eine Show/Hide Animation benötigt wäre evtl. dann selbst einblenden über animieren des Alpha-Werts eine Alternative.
Ansonsten meine DroneDeveloper, dass du dir die Subviews von UIPickerView anschauen sollst, und dort bei der richtigen am alpha drehen.
Damit nutzt du wohl keine private APIs und kommst auch in den AppStore, allerdings läufst du Gefahr, dass Apple den internen (undokumentierten) Aufbau von UIPickerView ändert und das nicht mehr geht.
Wenn du es blöd programmierst mag das zu Anzeigefehlern in deiner App führen, oder gar zum Absturz.
Häufige Fehler sind hier z.B. subviewAtIndex verwenden und plötzlich gibt es nicht mehr so viele Subviews --> Crash.
Bei solchen Spielchen daher immer maximale Vorsicht walten lassen (if Abfragen auf subview class, subview count usw. Tweak nur anwenden wenn hier noch alles ist wie erwartet). -
Danke Auf die Idee mit dem Bild bin noch gar nicht gekommen.
-
DroneDeveloper schrieb:
Ja, ist nicht schwierig.
Ein verständlicher (!) Beispielcode würde dir "schon" helfen... Soso... Was bezahlste?
Das sollte doch schon mit dem mitgelieferten Picker View möglich sein!?
Ansonsten Einfach UIPickerView subclassen und drawRect überschreiben.
macmoonshine schrieb:
Die Anpassung der Zellen ist relativ einfach. Dazu solltest Du Dir mal das UICatalog-Beispiel von Apple ansehen. Ob Du den Rahmen anpassen kannst, ohne Implementationsdetails zu verletzen, wage ich zu bezweifeln.
Hi All,
bin auch gerade dabei einen UIPickerView aufzusetzen. Jetzt will ich die Zellentexte mittig positionieren und die Schriftgröße anzupassen.
1. Geht das über einen direkten Zugriff auf die Properties der Zelle?
2. Wo muss ich da in der Doku ansetzen?
3. Oder geht das nur über ein SubClassing, wie im UICatalog-Beispiel von Apple?MfG, blue -
Custom Cells. Siehe Delegate-/Datasourcemethoden UIPickerView.
-
DroneDeveloper schrieb:
Custom Cells. Siehe Delegate-/Datasourcemethoden UIPickerView.
Jo Danke, Zellentexte stehen jetzt mittig, weil ich die Zellenbreite (component) reduziert habe
Ich hätte aber gerne einen direkten Zugriff auf das Textfeld/Label und seine Eigenschaften innerhalb der Zelle … ???
So in der Art vielleicht: component.cell.textField.textAlign = CENTER:MfG, blue -
-
DroneDeveloper schrieb:
Wie gesagt,
Quellcode
1
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
Sorry, stehe aber im Moment völlig auf dem Schlauch. Die Methode steht in meinem ViewController(Delegate). Wo bzw. wann wird die obige Methode aufgerufen, und wie kann ich die Bestandteile dieses returnten UIView auslesen, iterieren o.ä.???MfG, blue -
Äh DU musst ein UIView zurückgeben.
-
Tobse001 schrieb:
Ein transparentes Bild oben drüber legen (mit transparentem Fenster für den Picker in der Mitte).
Darunter dann der Fake-Hintergrund ebenfalls mit dem transparenten Fenster in der Mitte.
......
um den Rahmen eines UIPickerViews zu ändern, bin ich mal den obigen Weg gegangen (nur erste Zeile). Das Problem bei dem ganzen ist aber jetzt, das der Picker zwar aufgrund der Transparenz nicht überdeckt wird, er jedoch aber auch nicht mehr angesteuert werden kann, weil der transparente Teil des Bildes (Fenster in der Mitte) ihn überdeckt.
Kann ich das irgendwie übergehen?
Was meinst du mit Fakehintergrund?
Folgendes möchte ich erreichen:
[Blockierte Grafik: http://tareq.pytalhost.com/Picker.png]
Das ist der Rahmen für den Picker
[Blockierte Grafik: http://tareq.pytalhost.com/rahmen.png]
Jemand eine Idee -
Wie bindest Du das Bild ein? Über einen eigenen View? Dann solltest Du mal userInteractionEnabled dort ausstellen. Ein (transparentes) Bild kann keine Touches abfangen.„Meine Komplikation hatte eine Komplikation.“
-
Danke, klappt bestens.
Man lernt halt nie aus
-
Tags