UIPicker-View Einfärben möglich?

silentx

Aktives Mitglied
Thread Starter
Dabei seit
30.08.2011
Beiträge
375
Reaktionspunkte
16
Weiss jemand ob es möglich wäre/ist die UIPicker-View einzufärben oder Transparent zu machen, oder muss man die Vordefinierte Farbe hinnehmen?

Es gibt zwar im Internet eine Beispiele welche auf die picker.subviews zugreifen, welches aber anscheinend nicht mehr funktioniert, da dies immer einen Count von 0 aufweist. Jemand eine Idee hierzu?
 
Es geht immer noch. Allerdings kannst du auf die Subviews nicht mehr im viewDidLoad deiner Controller Klasse zugreifen!
Ist jetzt vielleicht nicht die schönste Lösung, aber so funktioniert es ;):

Code:
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    static BOOL firstTime = YES;
    
    if (firstTime) {
        firstTime = NO;
        
        for (UIView *view in self.pickerView.subviews) {
            if ([view isKindOfClass:NSClassFromString(@"UIPickerTableView")]) {
                view.backgroundColor = [UIColor yellowColor];
            }
        }
    }
    
    …
}

UIPickerView hat im übrigen folgende Subviews:
Code:
(lldb) po [[self pickerView] subviews]
(id) $1 = 0x06e55150 <__NSArrayM 0x6e55150>(
<UIView: 0x6e4f790; frame = (0 0; 320 216); autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x6e4f860>>,
<_UIPickerWheelView: 0x6e50600; frame = (11 0; 320 216); autoresize = W+TM+H; userInteractionEnabled = NO; layer = <CALayer: 0x6e50660>>,
<UIPickerTableView: 0xba77a00; frame = (11 0; 316 216); clipsToBounds = YES; opaque = NO; autoresize = W+TM+H; layer = <CALayer: 0x6e511b0>; contentOffset: {-0, -83}>,
<_UIOnePartImageView: 0x6e52620; frame = (11 0; 320 216); opaque = NO; autoresize = W+TM+H; userInteractionEnabled = NO; layer = <CALayer: 0x6e52680>>,
<_UIPickerViewTopFrame: 0x6e4fcf0; frame = (0 0; 320 216); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x6e4fdb0>>
)
 
Aber ist das gemäss Apple-Richtlinien überhaupt erlaubt bzw. wird eine solche App denn auch zugelassen?
 
Zurück
Oben Unten