2014-12-07 49 views
1

我有一个tableview,我想使用默认的cell.imageView来显示一个字体真棒图像(这将从显示的核心数据对象中的字符串确定)。 我正在使用ios-Fontawesome对铸造的不完全理解

本质上,我试图用FA图标创建FAImageview(UIImage的子类),然后使单元ImageView显示它。

下面的代码不起作用,但我怀疑这应该被允许,因为它们从相同类型继承。

但是我对铸造的理解也很不完整。 非常感谢任何帮助。

我的代码(在我的cellForRowAtIndexPath中)如下。

FAImageView *faImageView = [[FAImageView alloc] initWithFrame:CGRectMake(0.f, 0.f, 100.f, 100.f)]; 
//FAImageView *faImageView = [[FAImageView alloc] init]; 
faImageView.image = nil; 
[faImageView setDefaultIconIdentifier:@"fa-github"]; 

cell.imageView.image = faImageView.image; 

编辑: 出现setDefaultIconIdentifier这样:

- (void)setDefaultIconIdentifier:(NSString*)defaultIconIdentifier 
{ 
self.defaultIcon = [NSString fontAwesomeEnumForIconIdentifier:defaultIconIdentifier]; 
} 

回答

1

展望库代码,你的假设是错误的。

字体真棒并不适用于图像,它可以处理字体。 UIImageView实际上没有图像集。它内部有一个标签,并且设置图标会使该标签中的文本发生更改。

这就是为什么你的代码不起作用 - faImageView.image应该是空的。

我个人认为这是一个非常差的图书馆设计。

而不是使用单元格的默认imageView,更好的解决方案是只需[cell.contentView addSubview:faImageView]并设置其框架。

+0

根据这个类,FAImageView是一个UIImageView子类,这意味着如果它有一个图像(显示此图像),如果不是它显示uilabel默认图标,这个人的问题是他使用图像属性,但不没有指向任何东西。 – 2014-12-07 11:05:09

+0

@OnikIV不,问题在于FA库的糟糕设计。它有一个图像视图,实际上它根本不能处理图像。 – Sulthan 2014-12-07 11:06:14

0

改变这一行:

cell.imageView.image = faImageView.image; 

要这样:

cell.imageView = faImageView; 

或者这样:

[cell.imageView addSubview:faImageView]; 

的问题是你FAImageView的情况下,没有任何图像,你faImageView.image等于零,你可以试试这个来显示:

NSLog(@"Whats is my image:%@",[faImageView.image description]);