附件披露指示器未显示在自定义单元格中

时间:2014-10-17 12:57:38

标签: ios objective-c uitableview

我正在使用自定义单元格创建表格视图。我已经使用xib文件来创建它们。我的表正在按照我的意愿执行,但只有一个问题是表格View的单元格没有显示披露指示符。

从属性检查器设置后,指标显示在xib文件中,但不在模拟器中。

我已经以编程方式添加

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

InboxTableViewCell * cell = (InboxTableViewCell *)[tableView            dequeueReusableCellWithIdentifier:[InboxTableViewCell reuseIdentifier]];


   if (cell == nil)
   {
       [[NSBundle mainBundle] loadNibNamed:customCellName owner:self options:nil];
       cell = _tblVIewInboxCell;
       _tblVIewInboxCell = nil;
   }

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    cell.lblTitleInbox.text = @"Title";
    cell.lblSubTitleInbox.font = [UIFont fontWithName:@"Verdana" size:16.0];
    cell.lblSubTitleInbox.text = @"SubTitle";
    cell.lblSubTitleInbox.font = [UIFont fontWithName:@"Verdana" size:12.0];

  return cell;
}

任何人都可以帮助我。

提前致谢。

5 个答案:

答案 0 :(得分:15)

I read this in a tutorial

我刚刚在我正在看的教程中发现了这一点。我在这里找到了它:http://www.codingexplorer.com/segue-uitableviewcell-taps-swift/

暂时让表格视图更窄,看它们是否在那里。

希望这有帮助!

答案 1 :(得分:10)

我遇到了同样的问题,但我终于发现我已经实现了override func viewDidLoad() { super.viewDidLoad() datePicker.setValue(UIColor.white, forKeyPath: "textColor") datePicker.datePickerMode = .date datePicker.datePickerMode = .dateAndTime //Set here that mode you want. datePicker.addTarget(self, action: #selector(selectedDate), for: .valueChanged) } 方法,但忘记调用子类中的layoutSubviews。如果你把它添加回来,那么你可以看到披露。

所以解决方案将是这样的

super.layoutSubviews

答案 2 :(得分:4)

我有类似的问题;我已经将单元格内的元素(标签,图像)的所有约束添加到单元格边界,但它仍然没有显示最右边的元素和公开指示符。

事实证明,您还必须为家长表添加限制视图。界面故事板/自动布局不会发出任何警告。

仅限自定义TableViewTableViewController已经对此进行了整理,因此如果您从后者迁移到前者,很容易错过。

答案 3 :(得分:1)

我在Interface Builder中为表视图设置了附件指示器,并且遇到了同样的问题。我可以通过在tableView(cellForRowAt :)中以编程方式设置它来解决此问题。此外,通过这种方式,您可以仅为某些表视图单元格设置附件指示器,例如:

if indexPath.row != 3 {
    cell.accessoryType = .disclosureIndicator
    }

答案 4 :(得分:0)

Try this

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
    }
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;

}