易读的弹框组件

github地址 : https://github.com/Darren-chenchen/PopAlert

效果图

logo

使用方式

1.展示标题、内容、左右按钮

logo

    PopViewUtil.alert(title: "提水", message: "服务失败失败", leftTitle: "取消", rightTitle: "确定", leftHandler: {
            print("左")
    }, rightHandler: { 
            print("右")
      })
2.展示内容,左右按钮

logo

    PopViewUtil.alert(message: "服务器登服务器登服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败录失败录失败", leftTitle: "取消", rightTitle: "确定", leftHandler: {
            print("左")
        }, rightHandler: {
            print("右")
        })
3.展示一个按钮

logo
方式1

    PopViewUtil.alert(message: "测试左边按钮置为空", leftTitle: "", rightTitle: "确定", leftHandler: {
            print("左")
        }, rightHandler: {
            print("右")
        })

方式2

    PopViewUtil.alert(message: "测试右边按钮置为空", leftTitle: "确定", rightTitle: "", leftHandler: {
            print("左")
        }, rightHandler: {
            print("右")
        })
4.展示纯文本提示框(toast)

logo

    // 默认展示在window上,默认2秒消失
    PopViewUtil.showMessage(msg: "展示纯文本,在window上默认2s")
   // 展示在指定view上默认2秒
   PopViewUtil.showMessage(msg: "", onView: self.view)
    // 以上2个方法应该是足够满足项目需求了,下面这个方法比较长,主要是把所有的扩展都放在里面了,对于特定的需求可以用下面的方法展示,
    PopViewUtil.showMessage(msg: "展示纯文本,在指定view上。指定3s", success: nil, inView: self.view, duration: 13)
5.带有图片的提示框

logo

    PopViewUtil.showMessage(msg: "展示有图片的成功消息,默认在window上,默认2s", success: true, inView: nil, duration: nil)

    PopViewUtil.showMessage(msg: "展示有图片的失败消息,在指定view上,指定3s", success: false, inView: self.view, duration: 3)

对于控件的详细描述

1.对于alert弹框:

缺点:该弹框控件适用于全局的设置弹框的需求,比如:如果UI需求是多样化的,即有的界面左边按钮的颜色是黑色,右边是红色,有的页面左边是绿色右边是蓝色,那么就需要对方法进行扩展,把color传递进去。

优势:如果样式是全局的,那么到指定的xib文件中去修改样式就好了,不需要关心过多的布局

修改alert的宽度:

    // 宽度的设置要在layoutIfNeeded方法之前 
    self.nomalView.hd_width = 100
    // 赋值后注意重新布局一下,不然如果xib中lable没有设置文字,view的尺寸会不对
    self.nomalView.layoutIfNeeded()
2.对于toast

2-1、toast支持展示在任意的view上,默认展示在window上,默认显示时间2s,由于展示在window上时界面切换了,提示信息还存在,所以就将toast扩展到可以放在指定view上。

2-2、toast的结构
logo

可以在HDToast文件中修改字体大小、文本框的最小宽度、默认时长、禁止动画、文本框内间距等。

2-3、关于toast的动画:如果禁止动画效果直接将 self.textToastView?.layer.add(shakeAnimation, forKey: nil)
注释掉,如果需要再某一个页面禁止动画可设置 HDToast.share.animationFromValue = 1
但是要注意一点,由于是单例,所以如果想在某一个界面禁止动画其余界面还要打开动画,就需要再合适的地方设置其为0.8,不然其他地方的动画也会消失。

2-4、关于toast的位置注意点:如果toast位置靠近屏幕底部在一些特殊的地方,比如多个文本框(注册)时容易出现键盘遮挡toast的情况,这时可以在适当的时候让键盘退出

   DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+0.1, execute: {
                self.view.endEditing(true)
            })
在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个新的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其中3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程中遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最新的,或者尝试在不同的环境中安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹中的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造新文件名 new_filename = 'geopandas_' + filename # 构造新文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值