2016-04-06 53 views
0

我可以訪問的小區的層和由該代碼更新背景:IOS如何訪問單元內元件

if(cell.layer.sublayers.count < 3){ 
     CAGradientLayer *gradient = [CAGradientLayer layer]; 
     gradient.frame = cell.bounds; 
     gradient.colors = [NSArray arrayWithObjects:(id)topGold.CGColor, (id)bottomSilver.CGColor, nil]; 
     [cell.layer insertSublayer:gradient atIndex:0]; 
} 

但我不知道如何訪問子-UIView(標題)中含有內細胞(cardCell),因爲我想更新視圖(職稱)的一層背景背景太

enter image description here

+0

給標籤一個標籤。然後你可以很容易地參考它。 – rmaddy

+0

那不是一個標籤,那是一個UIView – Neo

+0

還是一樣的。適用於任何視圖。 – rmaddy

回答

-1

你可以通過cardCell.contentView的子視圖簡單地重複,以找到標題子視圖

NSArray *subviews = cell.contentView.subviews; 

if ([subviews count] == 0) return; 

for (UIView *subview in subviews) { 
    if (subview.tag == 5) { 
    // do something 
    NSLog(@"%@", subview); 
    } 


} 
+0

您不能從單元格層訪問子視圖。你想要'NSArray * subviews = cell.contentView.subviews;'。 – rmaddy

+0

我也會標記你想在故事板上訪問的UIView,然後在for循環中你可以使用if語句,當你到達那個UIView時if(subview.tag == 5){//做一些事情}' – tennis779

+0

順便說一句 - 它通過所有子視圖迭代有什麼好處?你怎麼知道哪個子視圖是標題?只需使用標籤並消除循環。 – rmaddy