我有一个自定义UITableViewCell,它有两个UIViews(CellFront和CellBack),允许我滑动CellFront(显示CellBack)以实现类似于应用Reeder的单元格滑动效果。
但是在UITableViewController类的'cellForRowAtIndexPath
方法中,当我尝试设置单元格的属性(例如标题UILabel)时,当应用程序加载UITableViewController时,单元格为空。
该属性设置如下:
UITableViewController设置cell.title,它调用UITableViewCell子类中重写的setTitle方法,并在此方法中将单元格的CellFront(UIView)标签设置为指定值。
但是如上所述,当我加载视图控制器时,什么都没有出现。
以下是相关代码:
在UITableViewController类中:
cell.preview = articleInfo.preview;
在UITableViewCell子类中:
- (void)setPreview:(NSString *)preview {
_preview = preview;
self.cellFront.preview.text = preview;
}
在cellFront类的initWithFrame中调用的方法:
- (void)addControlsToView {
// Create and add article title label to view
self.title = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 280, 20)];
self.title.font = [UIFont boldSystemFontOfSize:18.0f];
self.title.textColor = [UIColor blackColor];
self.title.backgroundColor = [UIColor clearColor];
[self addSubview:self.title];
self.URL = [[UILabel alloc] initWithFrame:CGRectMake(20, 35, 280, 20)];
self.URL.font = [UIFont systemFontOfSize:16.0f];
self.URL.textColor = [UIColor blackColor];
self.URL.backgroundColor = [UIColor clearColor];
[self addSubview:self.URL];
self.preview = [[UILabel alloc] initWithFrame:CGRectMake(20, 60, 280, 20)];
self.preview.font = [UIFont systemFontOfSize:16.0f];
self.preview.textColor = [UIColor grayColor];
self.preview.backgroundColor = [UIColor clearColor];
[self addSubview:self.preview];
}
我如何创建单元格:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = nil;
ArticleInfo *articleInfo = [self.fetchedResultsController objectAtIndexPath:indexPath];
// Checks if user simply added a body of text (not from a source or URL)
if ([articleInfo.isUserAddedText isEqualToNumber:@(YES)]) {
CellIdentifier = @"BasicArticleCell";
}
else {
CellIdentifier = @"FullArticleCell";
}
ArticleCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
... some less relevant further customizations, but I could return here for all intents and purposes
我到底做错了什么会导致细胞被创建得很好,但是他们没有UILabel或任何存在?