2015-10-01 146 views
0

我有一个tableview与2行。在第一行中我有一个UIView,我将在其上添加一个自定义视图。我所做的自定义视图作为厦门国际银行,我将像下面,如何将UIView添加到objective-c中的表格单元格?

Layout6View *lookLayout6 = [[Layout6View alloc] initWithFrame:CGRectMake(0, 0,cell.mainView.frame.size.width, cell.mainView.frame.size.height)]; 
[cell.mainView addSubview:lookLayout6]; 

和我Layout6View模样,

@implementation KCTLLookLayout6View 

- (id)initWithFrame:(CGRect)frame { 
    self = [super initWithFrame:frame]; 
    if (self) { 
     self = [[[NSBundle mainBundle] loadNibNamed:@"Layout6" 
              owner:self 
             options:nil] lastObject]; 
     self.frame = frame; 

    } 

    return self; 
} 

-(void)layoutSubviews{ 
    [super layoutSubviews]; 

    for (UIView *view in self.subviews) { 
     if (view == self.imageTopRightCorner) { 
      view.frame = CGRectOffset(CGRectMake(0, 0, /*(self.frame.size.width/2)-20, (self.frame.size.height/3)*/30,30), 0, 0); 
     } 
    } 
} 
@end 

当我运行此,自定义视图没有调整大小。它遍布整个表格视图(不仅在单元格内)。

有没有办法解决这个问题?

+0

添加上cell.contentView子视图,或者如果您使用的是故事板的设计上直接添加。 –

+0

如果可能,更喜欢故事板上的原型单元格。因为无论何时使用单元格中的“添加子视图”,每当单元格重用时,它将重新创建并重复多次单元重用。因此,您必须通过迭代子视图来删除该视图,然后再次进行子视图。 –

回答

1

尝试:

[cell.contentView addSubview:lookLayout6]; 
+0

没有。但是和以前一样.. – codebot

+0

你说你在XIB文件中定义'Layout6View'?但是,为什么你不从XIB加载?您必须从XIB加载它。 – Abhinav

+0

我该怎么做?谢谢 – codebot

0

变化厦门国际银行视图的Size属性。默认情况下,它是推断,使其自由形式和检查。

enter image description here

+0

我改变了它。但面临同样的问题。 – codebot

相关问题