Mam UITableView
z 4 sekcjami. Teraz chcę dodać efekt cienia do konkretnej sekcji tabeli, ale nie do pełnej tabeli. Jak mogę osiągnąć to zadanie?Cień wokół sekcji UITableView
Odpowiedz
Spróbuj
yourView.layer.shadowColor = [[UIColor blackColor] CGColor];
yourView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f);
yourView.layer.shadowRadius = 3.0f;
yourView.layer.shadowOpacity = 1.0f;
Musisz zastąpić "yourView" z niczego innego
Nie zapomnij też trzeba import QuartzCore/CALayer.h
Nie mogę użyć tego rozwiązania, ponieważ musiałem pokazać je dla sekcji w UIScrollView nie dla pełnego stołu –
http://stackoverflow.com/questions/7812430/how-to-create- niestandardowe widoki-sekcje – Omarj
Będziesz trzeba zmienić nagłówek i stopkę sekcji, a także wszystkie komórki sekcji.
Użyj do tego celu tableView:viewForFooterInSection:
, tableView:viewForHeaderInSection:
i tableView:cellForRowAtIndexPath:
. Po prostu dodaj UIView z rgba 0/0/0/0.2 lub podobnym do każdego widoku, który chcesz zaciemnić.
Możesz dodać obraz z cieniem jako tło UITableViewCell. Cień powinien zostać narysowany na obrazie. Jest to bardzo proste, a aplikacja będzie działać szybciej.
Możesz określić cień dla wybranej sekcji. Oto przykład.
Przede wszystkim robimy jakąś dostępną przestrzeń dla nagłówka
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if(section == mysection)
{
// Returns the height you want for the header section. I am giving 20
return 20;
}
}
wtedy dekorację nagłówku
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if(section == mysection)
{
UIView *shadowView = [[[UIView alloc] initWithFrame: CGRectMake(0,0,320,20)] autorelease];
shadowView.backgroundColor = [UIColor whiteColor];
// Doing the Decoration Part
shadowView.layer.shadowColor = [[UIColor blackColor] CGColor];
shadowView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f);
shadowView.layer.shadowRadius = 3.0f;
shadowView.layer.shadowOpacity = 1.0f;
return shadowView;
}
return nil;
}
Kompletny go na swojej stronie. Ten jest podstawowym zarysem. Happy Coding :)
w ten sposób mogę dodać cień do komórki, a nie do sekcji. –
Proszę zobaczyć moją edycję –
Dobra odpowiedź, działa poprawnie. –
nadal masz problem? – Omarj
Tak, nie znalazłem jeszcze rozwiązania –