gpt4 book ai didi

IOS 7 - 无法在自定义 UITableView 单元格中设置 UITextView 的字体颜色

转载 作者:IT王子 更新时间:2023-10-29 07:52:02 24 4
gpt4 key购买 nike

我一直坚持我认为很容易解决的问题。我有一个包含 UITextView 对象的自定义表格单元格。我希望这个对象中的文本是灰色的。当我在界面构建器中设置颜色时,它显示为灰色,但在模拟器中它仍然是黑色。

以下是其设置方式的简要说明:

  1. 应用程序基于主/从模板
  2. 我创建了一个类,它是 UITableViewCell 的子类
  3. 我在类中添加了两个属性,一个用于 UILabel 和一个 UITextView 的 socket
  4. 我通过添加 UITextView 更改了默认原型(prototype)单元格(它已经有一个 UILabel)
  5. 我将原型(prototype)单元格的类更改为我的自定义单元格类
  6. 我将单元格中的 UITextView 和 UILabel 连接到单元格类中的两个 socket

我更新了 MasterViewController 以填充我的自定义单元格。当我运行模拟器时,就显示数据的自定义单元格而言一切正常。

正如我之前提到的,当我尝试更改自定义单元格的 UITextView 中的文本颜色时,问题就来了。如果我在界面构建器中将它设置为浅灰色,它在模拟器中没有任何效果。

我在下面包含了相关的代码片段和屏幕截图。我不是 100% 确定什么与问题相关,什么不相关,如果您需要查看我未在下面显示的内容,请直接询问,我会提供。

** 编辑

当我注销 UITextView 的颜色属性时,它会输出 (null)。请参阅下面的 MasterViewController.m 代码。

自定义单元格 - NTFYNoteCell.h

#import <UIKit/UIKit.h>

@interface NTFYNoteCell : UITableViewCell

@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UITextView *descriptionText;

@end

取自 MasterViewController.m:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NTFYNoteCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];

NTFYNote *note = _notes[indexPath.row];

cell.titleLabel.text = [note title];
cell.descriptionText.text = [note shortDescription];

NSLog(@"TEXTVIEW: %@", cell.descriptionText);
NSLog(@"TEXT COLOR: %@", cell.descriptionText.textColor); // This outputs (null)

return cell;
}

从上面的代码中调试出来:

2014-01-19 19:42:52.001 appname[5050:70b] TEXTVIEW: <UITextView: 0xa1bfe00; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x8be0530>; layer = <CALayer: 0x8be1fe0>; contentOffset: {0, 0}>
2014-01-19 19:42:52.001 appname[5050:70b] TEXT COLOR: (null)
2014-01-19 19:42:52.004 appname[5050:70b] TEXTVIEW: <UITextView: 0xa1cd400; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x8b8fb40>; layer = <CALayer: 0x8bf5300>; contentOffset: {0, 0}>
2014-01-19 19:42:52.005 appname[5050:70b] TEXT COLOR: (null)
2014-01-19 19:42:52.007 appname[5050:70b] TEXTVIEW: <UITextView: 0xe17e000; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0xd857bb0>; layer = <CALayer: 0xd85d610>; contentOffset: {0, 0}>
2014-01-19 19:42:52.007 appname[5050:70b] TEXT COLOR: (null)
2014-01-19 19:42:52.009 appname[5050:70b] TEXTVIEW: <UITextView: 0x99af200; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x8a81ea0>; layer = <CALayer: 0x8a580c0>; contentOffset: {0, 0}>
2014-01-19 19:42:52.009 appname[5050:70b] TEXT COLOR: (null)

UITextView 连接到我的自定义单元格中的 socket :

UITextView connected to outlet

在界面构建器中字体颜色设置为浅灰色:

UITextView font color set to Light Grey

它在 iPhone 模拟器中的样子:

What the table view looks like in the simulator

最佳答案

稍微解决了这个问题后,我带着新信息回到谷歌,发现了以下 Stack Overflow 问题:

UITextView font is nil

事实证明,如果您不选中 UITextView 属性下的“可选”复选框,它不会响应任何字体更改,包括颜色。

我选中了此框,现在一切正常。

感谢您的帮助!

关于IOS 7 - 无法在自定义 UITableView 单元格中设置 UITextView 的字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21221281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com