GVKun编程网logo

如何在带有Swift的iOS 8上显示带有文本的活动指示器?

15

针对如何在带有Swift的iOS8上显示带有文本的活动指示器?这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展android–如何在ListView中显示带有文本的视频缩略图?、GiFHUD-

针对如何在带有Swift的iOS 8上显示带有文本的活动指示器?这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展android – 如何在ListView中显示带有文本的视频缩略图?、GiFHUD-Swift iOS 指示器、ios – Swift中的活动指标、ios – 使用swift在WKWebView上显示活动指示器等相关知识,希望可以帮助到你。

本文目录一览:

如何在带有Swift的iOS 8上显示带有文本的活动指示器?

如何在带有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中显示带有文本的视频缩略图?

android – 如何在ListView中显示带有文本的视频缩略图?

在ListView行中显示带有文本的视频缩略图的最佳方法是什么?

我想在SD卡上显示文件夹中的视频.

还需要锁定应用程序的文件夹.

每个视频都有描述和持续时间.

解决方法:

检查this blog post给出了一个例子.

GiFHUD-Swift iOS 指示器

GiFHUD-Swift iOS 指示器

GiFHUD-Swift 介绍

GiFHUD-Swift 允许使用 GIF 图显示进度,是使用 Swift 编写的 iOS 指示器。

GiFHUD-Swift 官网

https://github.com/cemolcay/GiFHUD-Swift

ios – Swift中的活动指标

ios – Swift中的活动指标

我正在尝试使用 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();
    }


}

解决方法

似乎每次调用start / stop时,都会创建一个ViewController的新实例
只需将ViewController替换为self并尝试

例如

Indicator = ActivityIndicator().StartActivityIndicator(self);

ios – 使用swift在WKWebView上显示活动指示器

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
    }
}

解决方法

已经评论过,你忘了设置webView代理:
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上显示活动指示器的相关知识,请在本站进行查询。

本文标签: