MBProgressHUD not working in swift: cannot import and use
You Can Directly Use Like This In Swift 3 After Pod and Bridging File Add.
var hud = MBProgressHUD()
hud = MBProgressHUD.showAdded(to: navigationController?.view, animated:
true)
// Set the custom view mode to show any view.
hud.mode = MBProgressHUDModeCustomView
// Set an image view with a checkmark.
let gifmanager = SwiftyGifManager(memoryLimit:20)
let gif = UIImage(gifName: "miniballs1.gif")
let imageview = UIImageView(gifImage: gif, manager: gifmanager)
hud.labelText = NSLocalizedString("Loading", comment: "")
hud.labelColor = UIColor.red
imageview.frame = CGRect(x: 0 , y: 0, width: 25 , height: 25)
hud.customView = imageview
// Looks a bit nicer if we make it square.
hud.show(true)
Try this:
1) Specify use_frameworks!
in your Podfile
to use frameworks (instead of static libraries).
This is required for adding pods that are written in Swift as dependencies and a good idea in general if your app is written in Swift.
2) Do pod install
This makes sure your project is setup to actually use the above.
3) Add #import <MBProgressHUD/MBProgressHUD.h>
in your bridging header (notice the angle brackets- not quotes) and import MBProgressHUD
in the Swift class that needs to use it.
That is,
MyApp-Bridging-Header.h :
#import <MBProgressHUD/MBProgressHUD.h>
// ... other imports ...
This exposes the Objective-C files to Swift. Angle brackets indicate this is actually importing a framework.
MyViewController.swift :
import UIKit
import MBProgressHUD
// ... other imports...
class MyViewController: UIViewController {
// ... yada yada...
}
This actually imports the dependency for use by your view controller.
You can directly drag MBProgressHUD Folder to your swift project, It will create the Bridging header as named "YourAppName-Bridging-Header.h", it means you can import obj-c classes into your swift project.
'import UIKit
import MBProgressHUD
class MyViewController: UIViewController {
// write your code
}'
This actually imports the dependency for use by your view controller.