小编Wae*_*ael的帖子

如何在 Swift 中以编程方式显示/隐藏 UISearchBar

我想以编程方式显示/隐藏 UISearchBar,但我没有想要的结果。

我想要做的是在向下滚动时隐藏搜索栏并在向上滚动时显示它:

我这样设置我的 UISearchBar:

var mySearchcontroller = UISearchController(searchResultsController: nil)
mySearchcontroller.obscuresBackgroundDuringPresentation = false
mySearchcontroller.searchBar.placeholder = "search"
mySearchcontroller.searchBar.delegate = self
definesPresentationContext = true
self.navigationItem.searchController = mySearchcontroller
self.navigationItem.hidesBackButton = true
self.navigationItem.hidesSearchBarWhenScrolling = false
Run Code Online (Sandbox Code Playgroud)

结果是

在此处输入图片说明

我实现了 scrollViewDidScroll 以使搜索栏在滚动时显示或隐藏:

  func scrollViewDidScroll(_ scrollView: UIScrollView) {
if(scrollView.panGestureRecognizer.translation(in: scrollView.superview).y > 0)
{

    navigationItem.hidesSearchBarWhenScrolling = false
    }
else
{
 navigationItem.hidesSearchBarWhenScrolling = true
}
}
Run Code Online (Sandbox Code Playgroud)

结果是:

在此处输入图片说明

当您意识到 GRP 标签或分段控件被搜索栏屏蔽时,搜索栏下推所有控件的效果并不相同(图 1)。

我该如何解决这个问题?

uisearchbar ios swift uisearchcontroller

5
推荐指数
1
解决办法
1277
查看次数

NSSortDescriptor 从 Swift 4 中的核心数据获取密钥

我是 IO 开发和核心数据的新手。

在我的应用程序中,我想使用 NSSortDescriptor 对数据进行排序,然后再将其提取到我的表视图中。

在我的核心数据中,我有一个表“TBL_Products”,其中包含两个字段“product_name”和“Quantity”

下面的代码工作得很好

let MySortDescriptor = NSSortDescriptor(key: "product_name" , ascending: true)
Run Code Online (Sandbox Code Playgroud)

但我讨厌的是我对键名称进行硬编码,因此如果列名称已更改,应用程序将崩溃。

有没有办法做到这样的事情(下面的代码不起作用):

let MySortDescriptor = NSSortDescriptor(key: TBL_Products.product_name.descriptor , ascending: true)
Run Code Online (Sandbox Code Playgroud)

sorting core-data ios swift

4
推荐指数
2
解决办法
2668
查看次数

Swift:向上滚动时显示搜索栏,向下滚动时隐藏它

我是Ios develpomment的新手,我Searchbar在导航项中添加了一个我想要实现的是当我向上滚动时tableview 我要隐藏它Searchbar并在向下滚动时显示它

就像在iPAD/Iphone上的safari效果一样,当向下滚动时显示地址栏并在向上滚动时显示

  let searchController = UISearchController(searchResultsController: nil)
  searchController.searchResultsUpdater = self
  searchController.obscuresBackgroundDuringPresentation = false
  navigationItem.searchController = searchController
  definesPresentationContext = true 
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

ios swift uisearchcontroller

4
推荐指数
1
解决办法
6055
查看次数

Swift 使用动画更改圆形边框颜色

我使用swift创建了一个圆形按钮,我想做的是用动画改变边框颜色

我使用了以下代码:

let color = CABasicAnimation(keyPath: "borderColor")
color.fromValue = UIColor.black.cgColor
color.toValue = UIColor.red.cgColor
color.duration = 1
color.repeatCount = 1
sender.layer.add(color, forKey: "color and width")
Run Code Online (Sandbox Code Playgroud)

边框颜色正在改变,但没有达到预期效果,它一下子改变了边框颜色。我想要的效果就像你在旧颜色上绘制一样,保持简单==>就像一个进度条,你会看到旧颜色逐渐消失并被新颜色取代。

有没有办法做到这一点?

谢谢你的帮助。

更新代码

var storkeLayer = CAShapeLayer()

@IBOutlet weak var Mybut: UIButton!
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    storkeLayer.fillColor = UIColor.clear.cgColor
    storkeLayer.strokeColor = UIColor.black.cgColor
    storkeLayer.lineWidth = 2

    // Create a rounded rect path using button's bounds.

    storkeLayer.path = CGPath.init(roundedRect: Mybut.bounds, cornerWidth: Mybut.frame.width / …
Run Code Online (Sandbox Code Playgroud)

uibutton caanimation ios swift

2
推荐指数
1
解决办法
2253
查看次数