我正在设计一个从右到左的应用程序。通过使用以下代码行,我将所有内容设置为rtl:
UIView.appearance().semanticContentAttribute = .forceRightToLeft
Run Code Online (Sandbox Code Playgroud)
并且对所有期望我的导航控制器具有交互弹出手势的东西来说都是正确的。正确的方向:
但是当我要使用弹出手势(从左边缘向右边缘滑动)时,从相反的一侧可以看到该视图。
我该如何更改?
我尝试将边缘更改为.right,但是禁用了手势识别器:
let gesture = interactivePopGestureRecognizer as! UIScreenEdgePanGestureRecognizer
gesture.edges = .right
Run Code Online (Sandbox Code Playgroud) 有没有办法快速设置Apollo框架中的默认缓存策略?
我知道我可以通过cachePolicy这种方式为每个获取请求设置缓存策略:
Apollo.shared.client.fetch(query: getUser, cachePolicy: CachePolicy.fetchIgnoringCacheData)
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种方法来为client所有请求设置对象中的缓存策略。
首先,我想描述一下我想要做的事情.我有两个tableViewControllers- 第一个包含账单号码列表,第二个应显示账单的详细信息,具体取决于账单号码的哪个单元格被选中.
在我的第一个tableViewController我使用它从单元格获取bill的号码并将其传递给detailTableViewController:
override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
let indexPath = tableView.indexPathForSelectedRow
let currentCell = tableView.cellForRow(at: indexPath!) as! CustomBillTableViewCell
valueToPass = currentCell.billNumberLabel.text
print(valueToPass)
performSegue(withIdentifier: "billsDetailSegue", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "billsDetailSegue"){
let detailController = segue.destination as! BillsDetailTableViewController
detailController.receivedValue = valueToPass
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,didSelectRowAt在第一个tableView只有prepare函数触发器中的单元格选择并且它将空值传递给下一个视图后,函数根本不会被触发.
我有一个UIView,我shadowPath为它设置了一个这样的:
func addShadow() {
let cornerRadius: CGFloat = self.containerView.frame.height/2
self.containerView.layer.shadowPath = UIBezierPath(roundedRect: self.containerView.frame, cornerRadius: cornerRadius).cgPath
self.containerView.layer.shadowRadius = cornerRadius
self.containerView.layer.shadowOffset = .zero
self.containerView.layer.shadowOpacity = 0.2
self.containerView.layer.cornerRadius = cornerRadius
self.containerView.layer.shadowColor = UIColor(named: "whiteColor")?.cgColor
}
Run Code Online (Sandbox Code Playgroud)
这是whiteColor:
现在我的问题是
当我改变手机的外观时,
shadowPath的颜色不会自动改变。我应该怎么做才能使颜色动态?