Tworzę kolorowy obraz tak:Tworzenie UIImage z UIColor użyć jako tła dla UIButton
CGRect rect = CGRectMake(0, 0, 1, 1);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context,
[[UIColor redColor] CGColor]);
// [[UIColor colorWithRed:222./255 green:227./255 blue: 229./255 alpha:1] CGColor]) ;
CGContextFillRect(context, rect);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
a następnie użyć go jako obrazu tła guzika:
[resultButton setBackgroundImage:img forState:UIControlStateNormal];
Działa to świetnie przy użyciu czerwonego koloru, jednak chcę użyć koloru RGB (jak pokazano w linii komentarza). Kiedy używam koloru RGB, tło przycisków nie ulega zmianie.
Czego mi brakuje?
Jeśli po prostu ustawiasz kolor tła przycisku, dlaczego nie miałbyś po prostu użyć metody setBackgroundColor:? –
Ustawienie tła Kolor zmienia tylko zewnętrzną część zaokrąglonych rogów, ale nie faktyczny obszar samego przycisku. – Thorsten
Twój kod działa poprawnie na moim ENV, xcode501, iPhoneSimulator703, spójrz uważnie, przycisk jest najprawdopodobniej przyciskiem z jasnym białym obrazem. – oxromantic