我需要通過單擊按鈕來更改UITableViewCell
中包含的UILabel
的文本顏色。我創建了一個UIColor object
,它在按鈕單擊時設置爲指定顏色,並調用UITableView reloadData
方法,即使顏色不變。我應該如何實現這一點?更改UITableViewCell中UILabel的文本顏色
回答
我假設你想改變你表格中所有行的顏色。 (如果你只是想改變一行,你將需要它的indexPath
)。
創建一個跟蹤顏色狀態的變量BOOL
。在按鈕點擊例程中,適當設置此值並執行[tableView reloadData]
。
在cellForRowAtIndexPath
您需要檢查變量並設置顏色爲每個狀態。您必須雙向執行此操作,否則在滾動時單元格的狀態將變得不可預知。
thnx回答 – user574089
對於改變一個UITableViewCell的文本顏色,你必須實現UITableViewDataSource委託功能
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath(NSINdexPath*)indexPath
在那裏,你得到的細胞與
UITableViewCell *tableViewcell = [self.tableView dequeueReusableCellWithIdentifier: @"Cell"];
if (tableViewCell == nil)
{
tableViewCell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"Cell"] autorelease];
}
在這裏你可以改變文字的顏色。
BTW:你應該接受一些答案您得到您的問題 - 這將提高你的機會,以獲得未來的問題的答案......
精細,當你添加自定義的UILabel的內容查看,設置標籤爲UILabel。
UILabel *cl = nil;
cl = (UILabel*)[cell.contentView viewWithTag:2000];
if(!cl)
{
cl = [[UILabel alloc] initWithFrame:CGRectMake(10,10,100,30)];
cl.tag = 2000;
[cell.contentView addSubview:cl];
}
if(beforeButtonPressed)
cl.textColor = [UIColor blackColor];
else if (afterButtonPressed)
cl.textColor = [UIColor blueColor];
我想上述方式將是您的要求的解決方案。
我也只做了這個。但是,我收到以下錯誤警告:試圖創建USE_BLOCK_IN_FRAME變量塊不在框架中後,我按下按鈕和文本顏色也沒有得到更新。你能幫我嗎? – user574089
在cellForRowAtIndexPath數據源方法中完成以下{UILabel * lblInstructionTitle = [[UILabel alloc] init]; if(ColorIsSetToBlack) { lblInstructionTitle.textColor = [UIColor redColor]; } else { \t lblInstructionTitle.textColor = [UIColor whiteColor];} [cell。contentview addsubview:lblInstructionTitle];} ColorIsSetToBlack是一個布爾值,它設置在點擊按鈕上,然後調用tableview reloaddata方法。你能否告訴我我是否正確行事? – user574089
我已經更新了我的答案。在'cellForRowAtIndexPath'方法中返回單元格之前添加代碼。 – Ilanchezhian
- 1. 在UItableViewCell中更改UILabel文本顏色
- 2. 更改的UILabel的文本顏色中的UITableViewCell
- 3. 的UILabel文本顏色更改
- 4. 無法更改UILabel文本顏色
- 5. 根據文本更改UITableViewCell中文本的顏色
- 6. 在UITableViewCell中更改UILabel的背景顏色
- 7. UILabel自動更改顏色
- 8. 更改UILabel顏色動畫
- 9. Swift UITableviewCell顏色更改
- 10. 文本更改時UILabel文本顏色發生變化
- 11. 更改自定義UICollectionViewCell中UILabel的文本顏色
- 12. 更改UIScrollView中每個UILabel的顏色
- 13. 以下事件發生時更改UITableViewCell中的文本顏色
- 14. 更改整個項目的UILabel的文本顏色
- 15. 更改按鈕的的UILabel文本顏色單擊
- 16. 更改的UILabel的背景顏色
- 17. 在UITableViewCell onload中更改UIButton顏色
- 18. 在UITableviewCell中更改按鈕顏色
- 19. 更改UILabel的背景顏色
- 20. 的UILabel更改背景顏色逐漸
- 21. 自定義更改的UITableViewCell文本顏色
- 22. 使用UIAppearance更改所有UITableViewCell的文本顏色
- 23. 更改文本顏色
- 24. 更改文本顏色onclick
- 25. JQuery更改文本顏色
- 26. 更改QCheckBox文本顏色
- 27. RadGridView更改文本顏色
- 28. 更改文本顏色CSS3
- 29. 更改文本顏色
- 30. 更改TimePicker文本顏色
你能解釋一點嗎?你想改變所有行的顏色嗎?還是單排? – Ilanchezhian
我在UITableView的cellForRowAtIndexPath數據源方法中創建了一個自定義UILabel,當我調用UITableView reloaddata方法時,它將作爲子視圖添加到單元格contentView。在我的代碼中,我需要根據顏色的選擇更改添加到單元格中的文本的UILabel/textcolor文本的顏色。 – user574089
好。假設按鈕是UIBarButton,它被添加到導航欄中,我想知道是否需要更改所有標籤或單個標籤的顏色? – Ilanchezhian