我想以编程方式显示/隐藏 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)。
我该如何解决这个问题?
我是 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) 我是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)
谢谢你的帮助.
我使用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)