美文网首页
阅读Toast

阅读Toast

作者: 光彩影 | 来源:发表于2022-12-28 16:33 被阅读0次

    https://github.com/scalessec/Toast

    优势:

    跟Android的方法一致,很棒(因为Toast也是Android的系统控件)

    使用

    // basic usage
    [self.view makeToast:@"This is a piece of toast."];
    
    // toast with a specific duration and position
    [self.view makeToast:@"This is a piece of toast with a specific duration and position." 
                duration:3.0
                position:CSToastPositionTop];
    
    // toast with all possible options
    [self.view makeToast:@"This is a piece of toast with a title & image"
                duration:3.0
                position:[NSValue valueWithCGPoint:CGPointMake(110, 110)]
                   title:@"Toast Title"
                   image:[UIImage imageNamed:@"toast.png"]
                   style:nil
              completion:^(BOOL didTap) {
                  if (didTap) {
                      NSLog(@"completion from tap");
                  } else {
                      NSLog(@"completion without tap");
                  }
              }];
                    
    // display toast with an activity spinner
    [self.view makeToastActivity:CSToastPositionCenter];
    
    // display any view as toast
    [self.view showToast:myView];
    

    实现

    就是一个wrapperView,里面放(算出文本的宽高)label,与图片。
    CSToastManager单例,设置一些默认值
    然后就是UIView (Toast) 扩展实现了。

    问题:

    self.view 最适合用哪个控件封装? 有键盘弹出的情况,toast在键盘下看不见。

    解决:

    一直更新迭代,最终[[UIApplication sharedApplication].delegate window]; 封装self.view。
    键盘弹出情况,iOS15以前是有根据检测到UIRemoteKeyboardWindow层级(一直验证才找到的,不是api),在这层级上显示toast。iOS15发现已经没UIRemoteKeyboardWindow层级,所以一劳永逸直接让toast 居中显示。

    相关文章

      网友评论

          本文标题:阅读Toast

          本文链接:https://www.haomeiwen.com/subject/gnaoqdtx.html