我有一個方法,我得到了colorWithHex,讓我發送像ffaa29(十六進制)的字符串,並得到一個UIColor。該方法起作用。如果我做設置textview文字顏色與變量
self._mainConsole.textColor = [self colorWithHexString: choice];
我可以設置顏色。但問題是我想存儲顏色。例如,如果他們輸入無效的顏色,我想要返回當前的顏色。
當我這樣做是行不通的。
self.foregroundColor =[self colorWithHexString: choice];
self._mainConsole.textColor = self.foregroundColor;
相反,它變黑,這對我聽起來像它的將000000現在,在我的測試iPad的它在一個點上面一樣,但沒有其他工作。在測試人員ipad 1上,第二種方法根本不起作用。我錯過了什麼?有沒有內存問題?
邁克
如何檢查顏色是否無效?你的邏輯是什麼?只有當它們輸入的顏色有效時,你才希望它改變顏色? – 2012-07-22 07:15:13
我在網上發現了這個colorWithHex。例如,它只是確保字符串是6個字符。這一切都工作正常。正如我所說,當我從直接返回而不是變量設置的前景顏色發生變化時。我的問題是關於如何爲變量分配顏色。我是新來的Objective-C。我的foregroundColor變量可能需要內存嗎?該函數返回: – LanternMike 2012-07-22 07:23:40
要將顏色分配給變量,只需創建一個「UIColor」對象並將其存儲在該對象中。例如,你可以在你的界面上有一個'UIColor * myColor;',然後當你想存儲它時,就去'myColor = [self colorWithHexString:...]'。 (假設你正在使用ARC;如果沒有,你會去'myColor = [[self colorWithHexString:...] retain]') – 2012-07-22 07:27:10