【发布时间】:2015-01-13 04:29:59
【问题描述】:
我已将 UIImageView 作为弱 IBOutlet 正确连接到原型单元,但是当我运行程序时,我无法在模拟器和设备上显示它。当我尝试删除原型单元时,事情变得更加奇怪并重建它,但没有显示其他项目(例如:UIButtons、UILabels)。
尝试了“清理”、“清理构建文件夹”,从我的设备中删除了该应用程序,甚至从我的 Mac 中删除了“派生数据”文件夹,但无济于事。甚至尝试在单元格中安装一个新的 UILabel 并让它不显示!
我已经确定:
-
这些项目已正确连接到我的单元格 .h 文件,如下所示:
@property (weak, nonatomic) IBOutlet UIImageView *coverImage; @property (weak, nonatomic) IBOutlet UILabel *activityLabel; cellForRowAtIndexPath 已正确完成:
{
NewsFeedCell * cell = [tableView dequeueReusableCellWithIdentifier:@"NewsFeedCell" forIndexPath:indexPath];
if (self.dataInStorage)
{
NSDictionary * newsFeedData = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:self.dataInStorage];
NSDictionary * dataToDisplay = [[newsFeedData objectForKey:@"Content"] objectAtIndex:indexPath.row];
//ActivityLabel
NSInteger typeID = [[dataToDisplay objectForKey:@"TypeID"] integerValue];
switch (typeID)
{
case 3:
cell.activityLabel.text = [NSString stringWithFormat:@"created an event - %@", [dataToDisplay objectForKey:@"Title"]];
break;
case 7:
cell.activityLabel.text = [NSString stringWithFormat:@"added a listing - %@", [dataToDisplay objectForKey:@"Title"]];
break;
default:
break;
}
//CoverImage
UIImage * coverImage = [UIImage imageWithData:[dataToDisplay objectForKey:@"CoverImage"]];
CGImageRef cgref = [coverImage CGImage];
CIImage *cim = [coverImage CIImage];
if (!(cim == nil && cgref == NULL))
{
//Image is available
cell.coverImage.image =[UIImage imageWithData:coverImage];
}
}
return cell;
我认为问题可能出在配置或情节提要设置中,尽管 10 多个小时后我仍然无法弄清楚。谁需要源代码看一下,请告诉我,以便我可以将整个文件夹发送给您。
需要帮助!
【问题讨论】:
-
请附上截图。
-
请在 cellForRowAtIndexpath 中提供代码并检查您是否已将委托和 tableview 的数据源与您的控制器连接
-
请提供源代码..
-
@LightYagami 我已经检查过了,它们已正确连接。单元格中的所有其他项目都显示出来,因此应该表明数据源和委托连接良好。只是对于 UIImageView 以及当我尝试编辑现有项目时,事情变得非常奇怪。
-
@AdeelUrRehman 你需要哪张截图?
标签: ios objective-c iphone uitableview xcode-storyboard