2012-05-28 13 views
8

Po prostu mam 2 widoki w konstruktorze interfejsów, jeden jest ustawiony na kolor 99,99,99 za pomocą suwaków RGB w konstruktorze interfejsów.Różnica kolorów między drawRect a Interface Builder?

enter image description here

Z innego punktu widzenia jest zabarwiona programowego osiągnąć pewien kształt. I wypełnić go za pomocą:

//Obviously, this is in drawRect. 
[[UIColor leadColor] set]; 
CGContextEOFillPath(myContext); 

//And this is a category on UIColor 
+ (UIColor *)leadColor { 
    return [UIColor colorWithWhite:99/255.0 alpha:1.0]; 
} 

Rezultat:

enter image description here

Dlaczego ta różnica istnieje ??


EDIT: (unecessary drawRect Kod usunięty)


EDIT2:

Więc tutaj leżę sobie .. „Interfejs budowniczy pokazał RGB 99,99 , 99 jako 80,80,80. Założę się, że przesuwa tę liczbę o 19. " .>> ... Zdesperowany mężczyzna przy użyciu Xcode myśli szalone rzeczy tak .. Wynik:

Perfect!!

PERFECT !!, ale dlaczego ???? Kolejny błąd Xcode? Znalazłem 10 takich w zeszłym miesiącu ...

+0

post kompletnym drawRect jako th w dwóch wierszach razem z 'UIGraphicsGetCurrentContext' nie rysują koloru nad widokiem. –

+0

Dzięki za wypróbowanie tego. Wystarczy zastąpić 'CGContextEOFillPath (myContext);' z 'CGContextFillRect'. Prostsze, tylko do testowania. – Mazyod

+1

Czy próbowałeś '[UIColor colorWithRed: 99/255.0 green: 99/255.0 blue: 99/255.0 alpha: 1.0]'? – Clafou

Odpowiedz

22

I wreszcie osiągnął etap dostrajajàcà tej aplikacji i musiał rozwiązać ten problem, tak, szukałem i łatwo znaleźć rozwiązanie:

How do I enter RGB values into Interface Builder?

Ilustracja:

enter image description here

+1

Dzięki za to. Nie pomyślałabym, żeby to zrobić w IB – CVertex

+0

Miałem ten sam problem i testowałem kolory z Fireworks jejej –

+0

dzięki. Pracował dla mnie. – db42

1

colorWithWhite używa grayscale space, a kolor 99 w skali szarości nie jest odwzorowany na kolor (99,99,99) w przestrzeni RGB.

Aby uzyskać taki sam wynik, jak w programie Interface Builder, należy użyć przestrzeni RGB. Wymienić wezwanie do colorWithWhite z tym:

[UIColor colorWithRed:99/255.0 green:99/255.0 blue:99/255.0 alpha:1.0] 
+0

To, co mówisz, ma sens, ale tak nie jest. Przesłany zrzut ekranu ma dwa różne odcienie szarości, rysowany przez 'drawRect' +' leadColor' = RGB 99,99,99. (tzn. colorWithWhite jest taki sam jak podany kod.Mimo to przetestowałem to, bezużyteczne). Jednak zestaw kolorów w IB pokazuje się jako RGB 80,80,80. – Mazyod

+0

Dziwne! Jeśli otworzysz plik .xib w edytorze tekstowym i rozejrzysz się za wartością koloru, co widzisz? – Clafou

+0

\t \t \t \t \t \t \t \t \t \t \t 2 \t \t \t \t \t \t \t \t \t \t \t MC40NjI3NDUwOTggMC40NjI3NDUwOTggMC40NjI3NDUwOTgAA \t \t \t \t \t \t \t \t \t \t .. nie ma sensu do mnie. – Mazyod

Powiązane problemy