2014-05-01 90 views
0

我想在表格視圖的表格節標題中應用模糊效果,類似於您在控制中心中所看到的模糊效果。我已經看過一些GitHub回購,像iOS模糊和LiveFrost,但他們似乎沒有工作。他們實際上並沒有模糊滾動過節標題的表格單元格,但它們模糊了剖視圖的內容,這正是我想要避免的。將iOS 7樣式模糊應用到表格視圖節標題

有什麼建議嗎?

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ 
    UITableViewCell *headerView = [tableView dequeueReusableCellWithIdentifier:@"SetSelectionHeaderCell"]; 

    headerView.backgroundColor = [UIColor clearColor]; 
    //LFGlassView *glassView = [[LFGlassView alloc] initWithFrame:headerView.frame]; 
    JCRBlurView *glassView = [JCRBlurView new]; 
    [glassView setFrame:headerView.frame]; 
    [glassView setBlurTintColor:[UIColor blackColor]]; 
    [headerView addSubview:glassView]; 

    [headerView sendSubviewToBack:glassView]; 


    return headerView; 
} 
+0

如何將模糊視圖添加到節標題?我們可以看到一些代碼嗎?我假設你正在使用'tableView:viewForHeaderInSection:'?加入了 –

+0

- 這很簡單,因爲我沒有實現改變視圖的邏輯 - 我想先弄清楚模糊效果,或者至少告訴我不能這樣做。我已經嘗試過iOS-Blur和FrostLive等github插件,但它們似乎並沒有模糊正確的事情。我認爲問題的一部分是我不知道如何插入視圖並將它浮動在表視圖的頂部(位於單元格的前面,但位於節標題視圖的後面)如果我可以這樣做,至少我部分在那裏。 –

+0

當你說你嘗試過iOS-Blur,你的意思是你在'tableView:vieForHeaderInSection:'中返回了一個iOS-Blur視圖的實例作爲headerView,或者你添加了模糊視圖作爲標題視圖的子視圖?你可以嘗試設置headerView背景顏色來清除和添加和iOS-Blur(又名UIToolbar)作爲headerView的子視圖嗎? –

回答

1

你的問題是,您要添加的blurView作爲headerView的子視圖,但headerView的backgroundColor是默認的白色,因此不透明。爲了查看headerView背後的視圖,你需要使headerView透明。您可以通過設置

headerView.backgroundColor = [UIColor clearColor] 

iOS-Blur視圖通過模糊背後的意見。所以你看到headerView的標題標籤模糊不清的原因是因爲在添加標籤後blurView作爲子視圖添加到headerView。這將blurView置於標籤的前面,作爲最頂層的子視圖。在將模糊視圖添加爲子視圖後,您需要將模糊視圖一直髮送到後面。

[headerView sendSubviewToBack:blurView]; 

如果使headerView透明,你在後面加上blurView,它應該工作,只要你想它。

結果應該是這樣的:

this

我還要指出的是,如果你每次出列,它作爲一個的tableView細胞時添加子視圖的headerView,子視圖會積累。

+0

這不起作用 –

+0

它爲什麼不起作用? –

+0

讓我真的嘗試iOS-Blur而不是LF-Blur(試圖保持iOS兼容性)。不知道藍色效果是否可以在模擬器上正常工作 - 它看起來就像在模擬器上直接顯示的那樣。桌子後面的桌子..它只是看起來半透明的一個alpha,沒有模糊 –

相關問題