2013-10-23 60 views
0

我在ios 7中遇到問題,而在ios 6中工作正常。問題是我無法讓我的自定義單元格在ios 7中的表視圖的子視圖,而我在我的自定義單元格在iOS視圖中的表視圖的子視圖中。我已打印表視圖的子視圖的日誌對於下面給出的ios 7和ios 6。ios 7在tableview cell中的問題

登錄爲iOS 7

<__NSArrayM 0x15e83460>(
<UITableViewWrapperView: 0x15dd4210; frame = (0 0; 675 621); autoresize = W+H; layer = <CALayer: 0x15dd4280>>, 
<UIImageView: 0x15dd3bd0; frame = (0 616; 675 5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x15dd1fe0>>, 
<_UITableViewCellSeparatorView: 0x15ec3550; frame = (15 483; 660 1); autoresize = W; layer = <CALayer: 0x15ed3fd0>>, 
<_UITableViewCellSeparatorView: 0x15ed8b40; frame = (15 527; 660 1); autoresize = W; layer = <CALayer: 0x15ed84a0>>, 
<_UITableViewCellSeparatorView: 0x15ecbc80; frame = (15 571; 660 1); autoresize = W; layer = <CALayer: 0x15ed8450>>, 
<_UITableViewCellSeparatorView: 0x15ed74d0; frame = (15 615; 660 1); autoresize = W; layer = <CALayer: 0x15ea6f80>>, 
<_UITableViewCellSeparatorView: 0x15ed7450; frame = (15 659; 660 1); autoresize = W; layer = <CALayer: 0x15ea6c90>>, 
<_UITableViewCellSeparatorView: 0x15eb0e20; frame = (15 703; 660 1); autoresize = W; layer = <CALayer: 0x15eb5c70>>, 
<_UITableViewCellSeparatorView: 0x15eb36e0; frame = (15 747; 660 1); autoresize = W; layer = <CALayer: 0x15eb56d0>>, 
<_UITableViewCellSeparatorView: 0x15eb7400; frame = (15 791; 660 1); autoresize = W; layer = <CALayer: 0x15ed3f10>>, 
<_UITableViewCellSeparatorView: 0x15ea2e00; frame = (15 835; 660 1); autoresize = W; layer = <CALayer: 0x15eb12e0>>, 
<_UITableViewCellSeparatorView: 0x15eb6d50; frame = (15 879; 660 1); autoresize = W; layer = <CALayer: 0x15ec5230>>, 
<_UITableViewCellSeparatorView: 0x15ec9db0; frame = (15 923; 660 1); autoresize = W; layer = <CALayer: 0x15ec9e20>>, 
<_UITableViewCellSeparatorView: 0x15eb4ac0; frame = (15 967; 660 1); autoresize = W; layer = <CALayer: 0x15eb4b30>>, 
<UIImageView: 0x15dd3d10; frame = (670 614; 5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x15dd3df0>> 
) 

登錄爲iOS6的

<__NSArrayM 0x9b6a490>(
<MyCustomCell: 0x9b272a0; baseClass = UITableViewCell; frame = (0 396; 675 44); autoresize = W; layer = <CALayer: 0x9b2c940>>, 
<MyCustomCell: 0x9b2a940; baseClass = UITableViewCell; frame = (0 352; 675 44); autoresize = W; layer = <CALayer: 0x9b2ffc0>>, 
<MyCustomCell: 0x9b2dfe0; baseClass = UITableViewCell; frame = (0 308; 675 44); autoresize = W; layer = <CALayer: 0x9b33660>>, 
<MyCustomCell: 0x9b31680; baseClass = UITableViewCell; frame = (0 264; 675 44); autoresize = W; layer = <CALayer: 0x9b34f10>>, 
<MyCustomCell: 0x9b6ea90; baseClass = UITableViewCell; frame = (0 220; 675 44); autoresize = W; layer = <CALayer: 0x9b6cd20>>, 
<MyCustomCell: 0x9b70140; baseClass = UITableViewCell; frame = (0 176; 675 44); autoresize = W; layer = <CALayer: 0x9b73fd0>>, 
<MyCustomCell: 0x9b75bc0; baseClass = UITableViewCell; frame = (0 132; 675 44); autoresize = W; layer = <CALayer: 0x9b70d70>>, 
<MyCustomCell: 0x9b797c0; baseClass = UITableViewCell; frame = (0 88; 675 44); autoresize = W; layer = <CALayer: 0x9bee0d0>>, 
<MyCustomCell: 0x9b7c000; baseClass = UITableViewCell; frame = (0 44; 675 44); autoresize = W; layer = <CALayer: 0x9bf4880>>, 
<MyCustomCell: 0x9beef40; baseClass = UITableViewCell; frame = (0 0; 675 44); autoresize = W; layer = <CALayer: 0x9beeea0>>, 
<UIImageView: 0x9bf7070; frame = (0 614; 675 7); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x9bf7110>>, 
<_UITableViewSeparatorView: 0x9bf65a0; frame = (0 483; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6600>>, 
<_UITableViewSeparatorView: 0x9bf6650; frame = (0 527; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf66b0>>, 
<_UITableViewSeparatorView: 0x9bf66e0; frame = (0 571; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6740>>, 
<_UITableViewSeparatorView: 0x9bf6770; frame = (0 615; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf67d0>>, 
<_UITableViewSeparatorView: 0x9bf6800; frame = (0 659; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6860>>, 
<_UITableViewSeparatorView: 0x9bf68b0; frame = (0 703; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6910>>, 
<_UITableViewSeparatorView: 0x9bf6940; frame = (0 747; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf69a0>>, 
<_UITableViewSeparatorView: 0x9bf69d0; frame = (0 791; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6a30>>, 
<_UITableViewSeparatorView: 0x9bf6a60; frame = (0 835; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6ac0>>, 
<_UITableViewSeparatorView: 0x9bf6b30; frame = (0 879; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6b90>>, 
<_UITableViewSeparatorView: 0x9bf6bc0; frame = (0 923; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6c20>>, 
<_UITableViewSeparatorView: 0x9bf6c50; frame = (0 967; 675 1); opaque = NO; autoresize = W; layer = <CALayer: 0x9bf6cb0>>, 
<UIImageView: 0x9bf71c0; frame = (668 614; 7 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x9bf7260>> 
) 

我也還IOS面臨問題在分離器7行分離器線處於屏幕比特移位而在ios 6分隔線則完美呈現。任何建議將不勝感激。

回答

1

您定製的單元格現在是UITableViewWrapperView的子視圖。

您可以訪問細胞是這樣的:

id tableViewWrapperView = [[tableView subviews] objectAtIndex:0]; 
if ([tableViewWrapperView isKindOfClass:NSClassFromString(@"UITableViewWrapperView")]) 
{ 
    NSArray *myCells = [tableViewWrapperView subviews]; 
} 
+0

在該方法中,我們需要調用上面的代碼? 如何從上面提到的myCells中獲取細胞。 –