[英]UILabel textColor doesn't set properly in iOS 4.3
在使用iOS 5.1 Simulator應用程序時感覺很棒,但是在iOS 4.3 Simulator上對其進行測試后,出現了一些難以理解的問題:
我將自定義UITableViewCell用於UITableView,它只有幾個UILabel和一個UITextView。 問題在於textColor屬性似乎根本不起作用-盡管顯示了背景並且NSLog打印正確的文本,但標簽上的所有文本仍然不可見。 我嘗試在IB和以編程方式更改textColor值,但均無濟於事。
怎么樣UITextView-沒關系。 我想我可以用textViews替換所有標簽,但這不是編程的好方法,不是嗎?
謝謝您的幫助,無休止,因為這真讓我震驚!
更新(已添加源代碼)
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
FeedItemCell *cell = [tableView dequeueReusableCellWithIdentifier:[FeedItemCell cellID]];
if (!cell) {
cell = [FeedItemCell cell];
}
NSIndexPath *selectedPath = [tableView indexPathForSelectedRow];
if (selectedPath && (indexPath.row == selectedPath.row) ) {
[self selectRowAtIndexPath:indexPath];
}
[cell fillWithContents:[feedItemsController.fetchedObjects objectAtIndex:indexPath.row]];
return cell;
}
//---
@implementation FeedItemCell
- (void)fillWithNewsItemContents:(FeedItem *)feedItem {
self.nameLabel.text = [feedItem.creator fullName];
self.dateLabel.text = [TimeFormatter newsTimeWithDate:feedItem.postedDate];
self.detailTextView.text = [FeedItemCell detailTextViewStringFromFeedItem:feedItem];
self.commentLabel.text = [self _commentsTitleWithNews:feedItem];
self.avatarImageView.image = [feedItem.creator avatar];
}
所有UILabel
都在xib
-file中定義
看來我找到了解決方案。 由於某些原因, UILabel
在iOS 4.3中不支持Helvetica Neue字體(盡管UITextView
確實支持)。 我剛剛注意到它添加了其他測試UILabel
並在成功之后嘗試查找新舊版本之間的差異。
因此,現在只需要選擇其他合適的字體即可:)
非常感謝大家,對於沒有理由的麻煩深表歉意。
這很奇怪。 但我建議您在實際的iOS 4.3和5.1設備上進行測試。 模擬器的准確度是95%,而不是100%。 因此,您應該在設備上進行完整性檢查。
看到您的代碼真是太好了–特別是,我希望看到:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
或者,無論您在何處分配,實例化這些UILabel
行為並將其添加為子視圖。 但是我可以對可能出問題的地方做出一些猜測:
您可能試圖在正確分配或實例化UILabel
之前設置其元素。 例如,如果您致電:
[myLabel setText:@"Hello"];
致電之前:
UILabel *myLabel = [[UILabel alloc] initWithFrame:someFrame];
如果您這樣做,它將很好地編譯並在運行時靜默失敗。
您可能會忘記將標簽添加到適當的UIView
–在UITableViewCell
,通常應將內容作為單元格contentView
屬性的子視圖添加:
[[myCell contentView] addSubview:myLabel];
可能還會發生其他事情,但是在進行任何盲目猜測之前,我寧願先查看您正在使用的代碼。 然后,我將更新我的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.