2015-02-16 4 views
1

Я ищу способ уменьшить UINavigationBar titleView альфа-канал до нуля, прокручивая UITableView и делаю обратное во время прокрутки.iOS - Как уменьшить альфа UINavigationBar titleView во время прокрутки UITableView?

Есть ли какой-либо чистый способ сделать это с помощью делегата scrollViewDidScroll?

ответ

7

Супер простое, только что падение это в контроллер представления таблицы в навигационном контроллере:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    self.navigationController.navigationBar.alpha = 1 - (self.tableView.contentOffset.y/(self.tableView.contentSize.height - self.tableView.frame.size.height)); 
} 

Вычитание self.tableView.frame.size.height происходит потому, что contentOffset устанавливается от верхней части, так что даже в самом нижнем положении будет разделен по ширине кадра; диапазон 0-100 равен 0 (contentSize.height - frame.size.height).

1

Вы можете использовать значение contentOffset для scrollView, чтобы определить его расстояние от вершины и, следовательно, установить соответствующую альфу.

Смежные вопросы