2015-10-01 201 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

相關問題