针对如何在带有Swift的iOS8上显示带有文本的活动指示器?这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展android–如何在ListView中显示带有文本的视频缩略图?、GiFHUD-
针对如何在带有Swift的iOS 8上显示带有文本的活动指示器?这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展android – 如何在ListView中显示带有文本的视频缩略图?、GiFHUD-Swift iOS 指示器、ios – Swift中的活动指标、ios – 使用swift在WKWebView上显示活动指示器等相关知识,希望可以帮助到你。
本文目录一览:- 如何在带有Swift的iOS 8上显示带有文本的活动指示器?
- android – 如何在ListView中显示带有文本的视频缩略图?
- GiFHUD-Swift iOS 指示器
- ios – Swift中的活动指标
- ios – 使用swift在WKWebView上显示活动指示器
如何在带有Swift的iOS 8上显示带有文本的活动指示器?
我想以编程方式显示带有文本的活动指示器,例如“照片”应用中的活动指示器(在编辑和保存图片之后)。我怎样才能做到这一点?
答案1
小编典典Xcode 8.2.1•Swift 3.0.2
import UIKitclass ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate { @IBOutlet weak var imageView: UIImageView! @IBOutlet weak var filterButton: UIButton! @IBOutlet weak var saveButton: UIButton! let destinationUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! .appendingPathComponent("filteredImage.png") let imagePicker = UIImagePickerController() let messageFrame = UIView() var activityIndicator = UIActivityIndicatorView() var strLabel = UILabel() let effectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark)) func activityIndicator(_ title: String) { strLabel.removeFromSuperview() activityIndicator.removeFromSuperview() effectView.removeFromSuperview() strLabel = UILabel(frame: CGRect(x: 50, y: 0, width: 160, height: 46)) strLabel.text = title strLabel.font = .systemFont(ofSize: 14, weight: UIFontWeightMedium) strLabel.textColor = UIColor(white: 0.9, alpha: 0.7) effectView.frame = CGRect(x: view.frame.midX - strLabel.frame.width/2, y: view.frame.midY - strLabel.frame.height/2 , width: 160, height: 46) effectView.layer.cornerRadius = 15 effectView.layer.masksToBounds = true activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .white) activityIndicator.frame = CGRect(x: 0, y: 0, width: 46, height: 46) activityIndicator.startAnimating() effectView.addSubview(activityIndicator) effectView.addSubview(strLabel) view.addSubview(effectView) } func saveImage() { do { try imageView.image?.data?.write(to: destinationUrl, options: .atomic) print("file saved") } catch { print(error) } } func applyFilterToImage() { imageView.image = imageView.image?.applying(contrast: 1.5) } override func viewDidLoad() { super.viewDidLoad() guard let url = URL(string: "https://upload.wikimedia.org/wikipedia/commons/a/a8/VST_images_the_Lagoon_Nebula.jpg"), let data = try? Data(contentsOf: url), let image = UIImage(data: data) else { return } view.backgroundColor = UIColor(white: 0, alpha: 1) imageView.image = image } @IBAction func startSavingImage(_ sender: AnyObject) { saveButton.isEnabled = false filterButton.isEnabled = false activityIndicator("Saving Image") DispatchQueue.main.async { self.saveImage() DispatchQueue.main.async { self.effectView.removeFromSuperview() self.saveButton.isEnabled = true self.filterButton.isEnabled = true } } } @IBAction func filterAction(_ sender: AnyObject) { filterButton.isEnabled = false saveButton.isEnabled = false activityIndicator("Applying Filter") DispatchQueue.main.async { self.applyFilterToImage() DispatchQueue.main.async { self.effectView.removeFromSuperview() self.filterButton.isEnabled = true self.saveButton.isEnabled = true } } } @IBAction func cameraAction(_ sender: AnyObject) { if UIImagePickerController.isSourceTypeAvailable(.camera) { imagePicker.delegate = self imagePicker.sourceType = .camera present(imagePicker, animated: true) } } func imagePickerController(_ picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [AnyHashable: Any]!) { dismiss(animated: true, completion: nil) imageView.image = image }}extension Data { var image: UIImage? { return UIImage(data: self) }}extension UIImage { var data: Data? { return UIImagePNGRepresentation(self) } func applying(contrast value: NSNumber) -> UIImage? { guard let ciImage = CIImage(image: self)?.applyingFilter("CIColorControls", withInputParameters: [kCIInputContrastKey: value]) else { return nil } UIGraphicsBeginImageContextWithOptions(size, false, scale) defer { UIGraphicsEndImageContext() } UIImage(ciImage: ciImage).draw(in: CGRect(origin: .zero, size: size)) return UIGraphicsGetImageFromCurrentImageContext() }}
样本项目
Xcode 9.0•Swift 4.0
func activityIndicator(_ title: String) { strLabel.removeFromSuperview() activityIndicator.removeFromSuperview() effectView.removeFromSuperview() strLabel = UILabel(frame: CGRect(x: 50, y: 0, width: 160, height: 46)) strLabel.text = title strLabel.font = .systemFont(ofSize: 14, weight: .medium) strLabel.textColor = UIColor(white: 0.9, alpha: 0.7) effectView.frame = CGRect(x: view.frame.midX - strLabel.frame.width/2, y: view.frame.midY - strLabel.frame.height/2 , width: 160, height: 46) effectView.layer.cornerRadius = 15 effectView.layer.masksToBounds = true activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .white) activityIndicator.frame = CGRect(x: 0, y: 0, width: 46, height: 46) activityIndicator.startAnimating() effectView.contentView.addSubview(activityIndicator) effectView.contentView.addSubview(strLabel) view.addSubview(effectView) }
android – 如何在ListView中显示带有文本的视频缩略图?
在ListView行中显示带有文本的视频缩略图的最佳方法是什么?
我想在SD卡上显示文件夹中的视频.
还需要锁定应用程序的文件夹.
每个视频都有描述和持续时间.
解决方法:
检查this blog post给出了一个例子.
GiFHUD-Swift iOS 指示器
GiFHUD-Swift 介绍
GiFHUD-Swift 允许使用 GIF 图显示进度,是使用 Swift 编写的 iOS 指示器。
GiFHUD-Swift 官网
https://github.com/cemolcay/GiFHUD-Swift
ios – Swift中的活动指标
以下是启动活动按钮按钮的代码:
Indicator = ActivityIndicator().StartActivityIndicator(ViewController());
这是停止活动按钮的代码
ActivityIndicator().StopActivityIndicator(ViewController(),indicator: Indicator);
和ACtivity指标类的代码是
class ActivityIndicator: NSObject { var myActivityIndicator:UIActivityIndicatorView! func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView { self.myActivityIndicator = UIActivityIndicatorView(frame:CGRectMake(100,100,100)) as UIActivityIndicatorView; self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray self.myActivityIndicator.center = obj.view.center; obj.view.addSubview(myActivityIndicator); self.myActivityIndicator.startAnimating(); return self.myActivityIndicator; } func StopActivityIndicator(obj:UIViewController,indicator:UIActivityIndicatorView)-> Void { indicator.removeFromSuperview(); } }
Thanks Problem Solved
while am writing code I kNow that time that I have to pass self in the
function but at that time I didn’t kNow What type is self referencing
so I I can’t receive until I kNow the type then I decide to try to
receive different type (UIView,
UIActivityIndicatorView,UIViewController) then I found That it should
be UIViewController but I forgot that it should be pass with self and
I looking for what to pass in function calling and I thought let’s try
UIViewController and it didn’t give me error so I thought it’s right
but when it’s not working I thought I am close enough so it’s better
to ask expert about the problem. And as I expected problem is solved
within few minutes
Swift 3版
class ActivityIndicator: NSObject { var myActivityIndicator:UIActivityIndicatorView! func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView { self.myActivityIndicator = UIActivityIndicatorView(frame:CGRect(x: 100,y: 100,width: 100,height: 100)) as UIActivityIndicatorView self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray self.myActivityIndicator.center = obj.view.center; obj.view.addSubview(myActivityIndicator); self.myActivityIndicator.startAnimating(); return self.myActivityIndicator; } func StopActivityIndicator(obj:UIViewController,indicator:UIActivityIndicatorView)-> Void { indicator.removeFromSuperview(); } }
解决方法
只需将ViewController替换为self并尝试
例如
Indicator = ActivityIndicator().StartActivityIndicator(self);
ios – 使用swift在WKWebView上显示活动指示器
我试图实现WKNavigationDelegate方法,但是我没有显示出来.
关于如何解决这个问题的任何建议?
我没有在任何地方设置SupportWebView视图委托,但我不知道如何在swift ..
import UIKit import WebKit class SupportWebView: UIViewController,WKNavigationDelegate { @IBOutlet var containerView : UIView? = nil var webView: WKWebView? override func loadView() { super.loadView() self.webView = WKWebView() self.view = self.webView } override func viewDidLoad() { super.viewDidLoad() var dataManager = DataManager.sharedDataManager() var url = dataManager.myValidURL var req = NSURLRequest(URL:url!) self.webView!.loadRequest(req) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // dispose of any resources that can be recreated. } func webView(webView: WKWebView,didStartProvisionalNavigation navigation: WKNavigation!) { UIApplication.sharedApplication().networkActivityIndicatorVisible = true } func webView(webView: WKWebView,didFinishNavigation navigation: WKNavigation!) { UIApplication.sharedApplication().networkActivityIndicatorVisible = false } }
解决方法
override func loadView() { super.loadView() self.webView = WKWebView() self.webView.navigationDelegate = self self.view = self.webView }
今天的关于如何在带有Swift的iOS 8上显示带有文本的活动指示器?的分享已经结束,谢谢您的关注,如果想了解更多关于android – 如何在ListView中显示带有文本的视频缩略图?、GiFHUD-Swift iOS 指示器、ios – Swift中的活动指标、ios – 使用swift在WKWebView上显示活动指示器的相关知识,请在本站进行查询。
本文标签: