ios - 一旦用户滚动,如何只在导航栏下显示阴影?

标签 ios swift uinavigationbar

基本上,我想在用户开始滚动时在导航栏下方启用阴影半径。导航栏驻留在 TableView Controller 中,当 View Controller 首次打开时,导航 Controller 应处于其正常状态,但一旦用户开始滚动,阴影就会出现。

以下是我目前用于在导航栏下方创建阴影的代码:

    //Adds Shadow below navigation bar
    self.navigationController?.navigationBar.layer.masksToBounds = false
    self.navigationController?.navigationBar.layer.shadowColor = UIColor.lightGray.cgColor
    self.navigationController?.navigationBar.layer.shadowOpacity = 0.8
    self.navigationController?.navigationBar.layer.shadowOffset = CGSize(width: 0, height: 2.0)
    self.navigationController?.navigationBar.layer.shadowRadius = 2

如何只在用户开始滚动时才启用?

最佳答案

您需要添加这些行以向函数显示阴影并从以下委托(delegate)方法调用该函数:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

此外,调用与 showShadow 函数相反的函数可能会有所帮助,该函数将删除以下委托(delegate)方法中的阴影:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

关于ios - 一旦用户滚动,如何只在导航栏下显示阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56841858/

相关文章:

ios - 创建一个透明的 NavigationBar

ios - 不同的 UITableViewCells 重叠

ios - 取消 AFNetworking 2.0 成功 block

c# - 如何在 ios 11 中保存到照片相册崩溃?

swift - 我无法使用 Swift 添加 JSQMessagesViewController...。如何正确导入它?

swift - 如何改进使用 NSMetadataQuery 搜索 iCloud Drive 文件夹?

ios - alamofire header + 参数

swift - 在 NavigationBar Swift 上仅设置一次图像

iOS11自定义导航栏高度

ios - RK对象管理器 : check requestDescriptors before adding