我正在做一个用动画创建视图的项目。在创建视图时,我想在视图控制器中的每个视图中禁用触摸。所以我做了以下代码。
private func addInScrollView(){
self.view.userInteractionEnabled = false
createCardView()
self.view.userInteractionEnabled = true
}
但触摸没有被禁用。如何完成这项任务?
答案 0 :(得分:2)
这是一个很好的解决方案。
self.view.subviews.map { $0.userInteractionEnabled = false }
答案 1 :(得分:0)
希望这可以帮助你:
禁用用户互动:
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
启用用户互动:
UIApplication.sharedApplication().endIgnoringInteractionEvents()
答案 2 :(得分:0)
试试此代码
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
let tCount = touches.count
var touch : UITouch!
touch = touches.first as? UITouch
var touchLocation = touch.locationInView(self.view)
if CGRectContainsPoint(yoursubview.frame, touchLocation)
{
println("view clicked")
return
}
答案 3 :(得分:0)
您可以在现有视图的基础上创建一个新的UIView(obj-c代码,但希望能给你一个想法)
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
UIView *newView = [[UIView all]initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight)];
[self.view addSubview: newView];
动画完成后,将其删除
[newView removeFromSuperView];