ios 上一些好的自定义控件收集

1、TYAttributedLabel简单易用的富文本(作者:12207480)

TYAttributedLabel 简单易用的属性文本的控件(无需了解CoreText)

支持富文本,图文混排显示,自适应高度

支持添加高度自定义文本属性

支持添加属性文本,自定义链接

支持添加UIImage和UIView控件

希望大家喜欢,喜欢的话就给个star吧    

测试环境:Xcode 6.2,iOS 6.0以上


2、炫酷侧滑菜单布局框架(作者:xdf)

炫酷侧滑菜单布局框架的详细用法请见:https://github.com/xudafeng/SlideMenuView

Android 版本的一致实现请见:https://github.com/xudafeng/SlidingMenu

测试环境:Xcode 6.2,iOS 6.0以上

3、一行代码实现多风格的推送小红点(作者:weng1250)

今天我们来实现一个在iOS中让人又爱又恨的推送“小红点”WZLBadge。那什么是badge呢?当后台有数据更新需要让用户知道时,在按钮或者其他控件上显示一个“小红点”提醒用户。注意,这里的“小红点”仅仅是泛指,实际的视图可以天马行空,在这个版本中我们先实现以下几种:

  • 小红点

  • 红底白字“new”

  • 红底白字数字

为了让小红点显示后更加醒目,在这个版本中我又实现了几种不同的状态动画(status animation):

  • 心脏跳动效果(WBadgeAnimTypeScale)

  • 呼吸灯效果(WBadgeAnimTypeBreathe)

  • 横向抖动(WBadgeAnimTypeShake)

  • 静止状态(WBadgeAnimTypeNone, 默认)

WZLBadge还有以下优点:

支持横竖屏支持iOS5~iOS8允许高度定制化,包括“红点”的背景颜色,文字(字体大小、颜色),位置等

由于WZLBadge采用对UIView扩展category的方式,因此,所有的UIView及其继承子类(UIControl等)都可以无缝使用,当前版本开放的接口主要有以下几个:

1
2
3
- (void)showBadge;
- (void)showBadgeWithStyle:(WBadgeStyle)style value:(NSInteger)value animationType:(WBadgeAnimType)aniType;
- (void)clearBadge;

我将源代码托管在github上,我个人希望WZLBadge能不断优化成为iOS平台上推送红点的终极解决方案,如果你感兴趣,我非常欢迎你一起加入让WZLBadge变得更好。有什么问题或者建议请留言或者在github提issue。

测试环境:Xcode 6.2,iOS 6.0 以上


4、灌水新版强势来袭(作者:董铂然)

SXWaveAnimate

实现非常美观的灌水动画

7月30日升级版本(建议更新下)

与以往的只有自定义cell相比,开通了粒度更小的自定义View-SXWaveView

主要更新有:

  • 修改整体UI样式增加了SXWaveView。使得项目的泛用性和灵活性更好

  • 添加动画的type修改后为3种 1-缓慢上升 2-缓慢下降 3-先升后降

  • 考虑到引入的方便waveView废除了xib使用纯手码创建

  • 添加了半圆性灌水动画halfWaveView。(半圆类依赖于圆类,反之不依赖。可以根据个人喜好决定是否引入半圆类)

  • 增加开放API和新的字段,定制化程度更高。(不用担心以前有的接口还是有的,没做改变)

SXWaveView使用方法

1.将代码中的classes文件夹拖入项目中,里面包含了可重用的文件,及一个便利计算frame的类

2.在需要用到的类中(就是你要写tableView数据源方法和代理方法的类)引入头文件

#import "SXWaveView.h"或者是#import "SXHalfWaveView.h"

3.建一个成员变量

1
@property(nonatomic,strong)SXWaveView *animateView1;

4.用你正常创建自定义view的方法建一个,并使用setPrecent开头的方法,不想传的参数可以传nil

1
2
3
4
SXWaveView *animateView1 = [[SXWaveView alloc]initWithFrame:CGRectMake(0 MARGIN, 100 MARGIN,SIDES, SIDES)];
  [self.view addSubview:animateView1];
  self.animateView1 = animateView1;
  [self.animateView1 setPrecent:self.precent description:@ "董铂然"  textColor:[UIColor orangeColor] bgColor:COLOR(31, 187, 170, 1) alpha:1 clips:NO];

5.在viewDidAppear或viewWillAppear方法中加入一行开始动画的方法[self.animateView1 addAnimateWithType:0];也可以自行选择动画触发的地点。

精心设计了12种配色。现在的自定义配置已经很多,可自行发挥

看下代码就知道了里面写的很清楚

此代码还在不断优化中,欢迎点星关注

测试环境:Xcode 6.2,iOS 6.0 以上




属性字符串的封装类库(作者:obq0387_cn

本库实现了对IOS的属性字符串的封装,通过属性字符串可以很方便的实现各种图文混排以及文字的效果。

测试环境:Xcode 6.2,iOS 6.0 以上



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用SwiftUI自定义iOS分段控件可以通过以下步骤实现: 1. 创建一个新的SwiftUI View,命名为SegmentedControl。 2. 在SegmentedControl中定义一个枚举类型,用于表示分段控件中的选项。 3. 在SegmentedControl中定义一个@Binding属性用于绑定选中的选项。 4. 在SegmentedControl中使用ForEach循环遍历所有的选项,并将它们显示在分段控件中。 5. 在ForEach循环中,使用Button显示每一个选项,并在按钮的action中更新选中的选项。 6. 为分段控件添加样式,例如设置选中的选项的背景色和字体颜色等。 下面是一个简单的示例代码: ```swift enum SegmentedOption: String, CaseIterable { case option1 case option2 case option3 } struct SegmentedControl: View { @Binding var selectedOption: SegmentedOption var body: some View { HStack { ForEach(SegmentedOption.allCases, id: \.self) { option in Button(action: { self.selectedOption = option }) { Text(option.rawValue) .foregroundColor(self.selectedOption == option ? .white : .black) .padding(.horizontal, 20) .padding(.vertical, 10) .background(self.selectedOption == option ? Color.blue : Color.gray) .cornerRadius(10) } } } } } ``` 在使用时,只需要将SegmentedControl添加到需要显示的View中,并将选中的选项绑定到某个属性即可。例如: ```swift struct ContentView: View { @State private var selectedOption: SegmentedOption = .option1 var body: some View { VStack { SegmentedControl(selectedOption: $selectedOption) Text("Selected option: \(selectedOption.rawValue)") } } } ``` 这样就可以在界面上显示一个自定义的iOS分段控件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值