2016-02-27 99 views
-3

我想知道是否有可能重现苹果公司在Apple音乐中向Apple收藏中添加专辑时使用的Toast消息(事实上,我真的不知道如何命名此灰色盒子屏幕中间的勾号,但'吐司'似乎适合)。任何想法如何使用Swift实现这个?使用Swift Toast消息

toast

+0

你尝试了什么?您是否在github上搜索过 ? 这是一个普遍的问题,详细说明和特定,以便人们可以帮助你。 – DeyaEldeen

+1

而不是只标记它可以指出正确的gihub工具或其他类似的stackOverFlow问题? – user2387149

+1

如果你还在想,它被称为HUD(抬头显示器),如果你谷歌“ios hud”,你会发现大量的开源库。离开这里,因为我搜索的年龄,以找出它被称为。 –

回答

2

@ Gordonium的答案斯威夫特类

public class LoaderOverlay { 

    private var loaderOverlayView: UIView! 

    class var shared: LoaderOverlay { 
     struct Static { 
      static let instance: LoaderOverlay = LoaderOverlay() 
     } 
     return Static.instance 
    } 

    private func setup() { 
     loaderOverlayView = UIView(frame: CGRectMake(0, 0, 110, 100)) 
     loaderOverlayView.backgroundColor = UIColor.blackColor() 
     loaderOverlayView.alpha = 0.8 
     loaderOverlayView.layer.cornerRadius = 8 

     let indicator: UIActivityIndicatorView = UIActivityIndicatorView.init(activityIndicatorStyle: .White) 
     indicator.tag = 1 
     loaderOverlayView.addSubview(indicator) 
     indicator.center = CGPointMake(CGRectGetWidth(loaderOverlayView.frame)/2.0, CGRectGetHeight(loaderOverlayView.frame)/2.0) 
     indicator.startAnimating() 
    } 

    // MARK:- Public 
    public func show() { 
     if loaderOverlayView == nil { 
      self.setup() 
     } else { 
      let indicator = loaderOverlayView.viewWithTag(1) as! UIActivityIndicatorView 
      indicator.startAnimating() 
     } 

     if let window = UIApplication.sharedApplication().delegate?.window { 
      window!.addSubview(loaderOverlayView) 
      loaderOverlayView.center = window!.center 
     } 
    } 

    public func hide() { 
     let indicator = loaderOverlayView.viewWithTag(1) as! UIActivityIndicatorView 
     indicator.stopAnimating() 

     loaderOverlayView.removeFromSuperview() 
    } 
} 

用法: 显示

LoaderOverlay.shared.show() 

隐藏

LoaderOverlay.shared.hide() 
1

这是对象 - 而不是斯威夫特,但我有一个旧的项目,它是这样的。界面不一样,但我相信很容易改变为你想要的东西。它增加了一个活跃的指标(微调),而不是在黑色背景上打勾。你可以从任何地方调用这个代码,它会在它添加到主窗口时显示。如果你只需要它在一个地方,然后只需将其添加到呈现视图。

通话时要显示此代码:

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 110, 100)]; 
myView.backgroundColor = [UIColor blackColor]; 
myView.alpha = 0.8; 
myView.layer.cornerRadius = 8; 

UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; 
[myView addSubview:act]; 
act.center = CGPointMake(CGRectGetWidth(myView.frame)/2.0, CGRectGetHeight(myView.frame)/2.0); 
[act startAnimating]; 

UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window]; 
[mainWindow addSubview:myView]; 
myView.center = mainWindow.center;