Einstellung ich eine UIView-Unterklasse, die ein einfaches Rechteck mit diesem Code zieht:eine Hintergrundfarbe eines UIView von einem UIViewController
- (void)drawRect:(CGRect)rect {
//Get the CGContext from this view
CGContextRef context = UIGraphicsGetCurrentContext();
CGColorRef myColor = [UIColor colorWithHue:0 saturation:1 brightness:0.61 alpha:1].CGColor;
//Draw a rectangle
CGContextSetFillColorWithColor(context, myColor);
//Define a rectangle
CGContextAddRect(context, CGRectMake(0, 0, 95.0, 110.0));
//Draw it
CGContextFillPath(context);
}
dann habe ich einen separaten UIViewController, die eine UISlider hat darin
-(IBAction) sliderChanged:(id) sender{
UISlider *slider = (UISlider *)sender;
int sliderValue = (int)[slider value];
float sliderFloat = (float) sliderValue;
NSLog(@"sliderValue ... %d",sliderValue);
NSLog(@"sliderFloat ... %.1f",sliderFloat/100);
}
hier in sliderChanged, würde Ich mag t o in der Lage sein, die Hintergrundfarbe des Rechtecks, das in der UIView-Unterklasse gezeichnet wird, dynamisch zu ändern. Wie soll ich das umsetzen?
danke!
ich einen Compiler-Fehler beim Versuch, die NSColor Linien „Erwartet hinzufügen Spezifizierer-Qualifier-Liste vor NSColor ". Kann ich stattdessen UIColor verwenden? – TrekOnTV2017
Hoppla, tut mir leid. Hab nicht bemerkt, dass du auf iOS bist. Natürlich kannst du. NSColor ist nur das UIColor-Gegenstück auf OSX. –
danke, dachte ich. jetzt in meiner sliderChanged Funktion versuche ich dies zu tun: \t CGColorRef myColor = [UIColor colorWithHue: 0.3 Sättigung: 0.3 Helligkeit: 0.3 Alpha: 1] .CGColor; \t drawTest.rectColor = myColor; aber ich bekomme "Zugreifen auf unbekannte 'setRectColor' Klassenmethode". Ich bin mir sicher, dass ich irgendwo einen Schritt verpasse. – TrekOnTV2017