- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想在询问触摸 ID 时模糊背景,一旦授权成功,viewcontroller 需要可见。但这没有发生。即使授权成功,viewcontroller 仍然模糊。谁能帮我如何解决这个问题?
import UIKit
import LocalAuthentication
class TabBarViewController: UITabBarController {
@IBOutlet weak var noteTabBar: UITabBar!
override func viewDidLoad() {
super.viewDidLoad()
self.authenticateUser()
self.tabBar.hidden = false
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setObject(false, forKey: "sendModeToggle")
userDefaults.setObject("Avenir-Medium", forKey: "font")
userDefaults.setObject(13, forKey:"fontSize")
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
// MARK: Touch ID Authentication
func authenticateUser()
{
let context = LAContext()
var error: NSError?
let reasonString = "Authentication is needed to access your app! :)"
let blurEffect = UIBlurEffect(style: .Light)
let blurVisualEffectView = UIVisualEffectView(effect: blurEffect)
blurVisualEffectView.frame = view.bounds
self.view.addSubview(blurVisualEffectView)
if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &error)
{
context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: reasonString, reply: { (success, policyError) -> Void in
if success
{
print("Authentication successful! :) ")
blurVisualEffectView.removeFromSuperview()
}
else
{
switch policyError!.code
{
case LAError.SystemCancel.rawValue:
print("Authentication was cancelled by the system.")
/*case LAError.UserCancel.rawValue:
print("Authentication was cancelled by the user.")
*/
case LAError.UserFallback.rawValue:
print("User selected to enter password.")
NSOperationQueue.mainQueue().addOperationWithBlock({ () -> Void in
self.showPasswordAlert()
blurVisualEffectView.removeFromSuperview()
})
default:
print("Authentication failed! :(")
NSOperationQueue.mainQueue().addOperationWithBlock({ () -> Void in
self.showPasswordAlert()
blurVisualEffectView.removeFromSuperview()
})
}
}
})
}
else
{
print(error?.localizedDescription)
NSOperationQueue.mainQueue().addOperationWithBlock({ () -> Void in
self.showPasswordAlert()
})
}
}
}
最佳答案
由于您要在闭包中删除 View ,因此您可能不在主线程中。尝试将删除代码分派(dispatch)到主线程:
if success {
print("Authentication successful! :) ")
dispatch_async(dispatch_get_main_queue()) {
blurVisualEffectView.removeFromSuperview()
}
}
关于ios - removeFromSuperview() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38635447/
我确信这是一些愚蠢的错误,但在过去的一个小时里我试图从我的 super View 中删除 subview ,但没有成功。 在我第一次观看时 UIViewController *helpView = [
我不知道如何描述正常场景,调用removeFromSuperview时会导致0.3%崩溃。 这是跟踪: Exception Type: SIGSEGV Exception Codes: SEGV_AC
我在 tvOS 项目中有此代码 var loader: UIViewController! 。 。 . override func viewDidLoad() { super.viewDidL
我有一个带有后退按钮的页面,可以将我带到收件箱。我在 viewWillDisappear 中执行此操作 - -(void)viewWillDisappear:(BOOL)animated { [sup
我添加了多张图片并缩放显示它们。由于内存大小有限,我应该尝试删除其中一些已经通过 removeFromSuperview 看到的内容。我的问题是,当我尝试缩放时,所选图像被 removeFromSup
我有一个从 xib 加载的 UIView 子类,如下所示: // The xib custom view private var view: UIView! override init(frame:
我有以下类来添加和删除事件指示器 View : import Foundation import UIKit class ViewControllerUtils { var container: UI
另一个让我头疼的问题。我以编程方式创建了一个 UIButton。它的唯一目的是站在另一个已按下半秒钟的按钮之上。底部按钮是图片,顶部按钮是垃圾桶。您可以在这里看到我正在尝试做的事情:我有一张图片,要删
我在用 Objective-C 编程对象时有一个小问题。我有一个即将完成的应用程序,一切正常。我的问题是我将我的对象设置为 nil 并在适当的时候释放它们。 但这足够了吗?我应该在何时何地使用 rem
我有六个 ImageView ,我这样设置它们: img1 img2 img3 img4 img5 img6 但是当我使用 removeFromSuperview 函数删除 img1 时,其他 Ima
我有一个 MBProgressHUD,我分配如下: self.progressHUD_ = [[[MBProgressHUD alloc] initWithView:self.view] autor
在使用 imagePickerController 选择图像后,我尝试使用 Core Data 从我的 ViewController.swift 中保存一个对象。我在保存时显示带有微调器的 View
我声明了一个名为 var progressBar 的 UIView 变量:UIView? 我用这个函数显示或隐藏 View func showProgressBar(showBar: Bool){ i
我想在询问触摸 ID 时模糊背景,一旦授权成功,viewcontroller 需要可见。但这没有发生。即使授权成功,viewcontroller 仍然模糊。谁能帮我如何解决这个问题? import U
我需要能够从 View 中删除一个按钮并添加一个不同的按钮。我的代码如下所示: -(void)UpdatePromoBanner:(NSString*)value{ [button setTi
我想制作从 subview 返回到 super View 的动画。 我使用以下方式显示 subview : [UIView beginAnimations:@"curlup" context:nil]
我有一个方法,可以对 UIWindow 的一个 subview 进行动画处理,然后使用 removeFromSuperview 将其从 UIWindow 中删除。但是当我将 removeFromSup
我正在尝试使用以下代码从现有 View 中删除图像: -(void) deleteImage:(int)imageID{ //[self.imageArray removeObjectAtIndex:
我目前正在做一个 ipad 项目并找到了这个。所以这是我的结构 我将 uiviewcontroller 子类化为 customizedVC,像这样 @protocol customizedVCDele
我正在使用 GADBannerView 来展示横幅广告。这是我加载广告的方式: override func viewDidAppear(_ animated: Bool) { supe
我是一名优秀的程序员,十分优秀!