自绘控件及cocoapods推送过程
来源:互联网 发布:淘宝银泰百货是真是假 编辑:程序博客网 时间:2024/05/24 03:20
自绘控件
背景介绍: 由于在项目中, 需要实现一个比较简单的自定义控件, 类似于CocoaTouch提供的UISlider, 需求中的不同在于, slider需要实现3个位置的触控消息. 类似与下图已经完成的效果.
实现过程:
创建一个继承自UIControl的LXSlider类, 然后实现
- (BOOL)beginTrackingWithTouch:(UITouch*)touch withEvent:(UIEvent*)event
重载该函数的主要作用在于获取用户点击的位置坐标, 然后通过计算得出当前的焦点应该处于什么位置上, 然后发送
sendActionsForControlEvents:UIControlEventValueChanged
消息并触发视图进行重绘刷新.
至于LXSlider类的头文件开放属性部分, 也就是将要开放给用户的属性设置, 例如修改背景色, 焦点颜色, 焦点下方的文字标签内容等. 项目的github地址在文末提供.
下面简单说下cocoapods的推送过程
按大体流程来说:
1. cocodpods推送权限获取.
2. 编写项目的podspec文件.
3. github发布项目, 并提供tag号.
4. 推送podspec文件到cocospods官方github地址.
下面着重讲下每个步骤的方法.
- 命令行中, 执行pod register “xxx@xxx.com” “xxx”
向pod服务器发起账号申请, 如果成功, 会在该邮箱收到一封验证的地址, 收到后点击该地址即可, 如果验证地址一直不能打开, 请考虑国情, 使用其他方法打开. 我本人的网络环境是刚开始打不开, 但是后来可以直接打开.
验证成功后, 使用命令pod trunk me, 会显示注册名字, 邮箱地址, 拥有的Pods项目等信息. - 编写podspec文件, 该文件是ruby的自解释语言, 基本能够知道是什么意思, 这里附上一个LXSlider.podspec, 你可以直接拿来使用, 将项目本身相关的信息修改成你自己的即可.
Pod::Spec.new do |s| s.name = "LXSlider" s.version = "1.1.0" s.summary = "A customize UISlider." s.description = <<-DESC It is a customize UISlider with multi point that you can select, which implement by Objective-C. DESC s.homepage = "https://github.com/linx214/LXSlider" s.license = 'MIT' s.author = { "linx214" => "linx214@gmail.com" } s.source = { :git => "https://github.com/linx214/LXSlider.git", :tag => s.version } s.platform = :ios, '8.0' s.requires_arc = true s.source_files = 'LXSlider/LXSlider.{h,m}', 'LXSlider/NSString+PreferredFontSize.{h,m}' s.frameworks = 'Foundation', 'CoreGraphics', 'UIKit'end
- github发布项目, 并提供tag号
这里也是自己被坑到的位置, 如果提供的版本号不对, 会直接影响最终推送到cocospods官方地址的过程.
在工程目录提交完项目变更到github之后, 使用git命令, 给项目打上tag
git tag '1.0.0'git push --tag
- 推送podspec文件到cocospods官方github地址
podspec文件描述的版本号必须要与github上对应工程的版本号一致, 因为cocospods会去从github获取该版本号对应的工程目录, 如果版本号不对, 可能导致cocospods找不到podspec里面所描述的文件.
最后使用命令 pod trunk push LXSlider.podspec等待片刻后, 会显示cocospods已经将项目更新至刚才提交的版本号了.
然后使用pod search LXSlider就可以查询到刚刚提交到的项目了.
项目地址:
https://github.com/linx214/LXSlider
cocospods集成方法:
pod 'LXSlider'
1 0
- 自绘控件及cocoapods推送过程
- CocoaPods安装过程及使用
- CocoaPods安装过程及问题
- 关于窗口自绘及控件自绘
- iOS远程推送原理及实现过程
- iOS远程推送原理及实现过程
- iOS远程推送原理及实现过程
- 自定组合控件的过程
- 安装cocoa pods过程及遇到的问题,CocoaPods原理
- 在cocoaPods安装及使用过程中遇到的问题
- 分页控件及存储过程
- 推送过程
- 控件自绘
- 自绘控件笔记
- 自绘 列表控件
- 自绘 tab 控件
- 自绘CStatic控件
- 自绘GridView控件
- Android文件读取
- 深入掌握JMS(四):实战Queue
- Spring中@Async用法总结
- 2
- 归并排序
- 自绘控件及cocoapods推送过程
- 天津师范大学学生证补办流程
- xml转义字符
- c++读取csv文件和写入文件
- Shell类似于C语言的for循环
- Copy
- Android ThemeEditor 使用心得
- 第三轮回 跌入向量化
- 删除一个有序链表的重复元素