我在storyboard中添加了textView和imageView,如下面的屏幕截图所示。
故事板顺序为:
textView
imageView
现在正在运行imageView
涵盖textView
,分配给textView
的内容不起作用。
所以我以编程方式想要将订单更改为:
imageView
textView
(不涉及故事板)
我试过了:
self.view.bringSubviewToFront(textView)
self.view.sendSubviewToBack(imageView)
和
imageView.layer.zPosition = 1
textView.layer.zPosition = 2
这些都不适合我
答案 0 :(得分:1)
我想问题是您可能在$(".lev1").click(function(){
if ($(this).next().is(":visible")) {
$(this).nextUntil(".lev1").hide(); // works
}
else {
$(this).nextAll(".lev2").show(); // works
}
});
方法中使用这些代码。尝试在viewDidLoad
或者另一种尝试是使用viewDidAppear
在performSelector
或viewDidLoad
viewWillAppear
并在此功能中更改您的订单
self.performSelector(#selector(changeOrder), withObject: nil, afterDelay: 0.2)
修改
我做了一个样本。看看。
https://github.com/RajanMaheshwari/OrderingLayer
我已经尝试过代码并且工作正常
func changeOrder() {
imageView.layer.zPosition = 1
textView.layer.zPosition = 2
}
我的故事板
运行代码后的最终结果
现在class ViewController: UIViewController {
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet weak var myTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
self.performSelector(#selector(changeOrder), withObject: nil, afterDelay: 0.2)
}
func changeOrder() {
myImageView.layer.zPosition = 1
myTextField.layer.zPosition = 2
}
}
位于第1层,imageView
位于第2层位置
如果您注释掉textField
行,那么结果将是
此处performSelector
位于第2层位置,imageView
位于第1层位置。