iOS 开发 ZFUI framework控件,使布局更简单

来自:http://www.jianshu.com/p/bcf86b170d9c

前言

为什么会写这个?因为在iOS开发中,界面的布局一直没有Android布局有那么多的方法和优势,我个人开发都是纯代码,Masonry这个框架我在开发中也是不用的,一个是代码布局的时候,代码量比较多,另外好像在iOS10 布局有问题,网上也有些解决的方法了。

所以就想能自定义一些UI控件,使布局更加简单

实现思路

可以像Android的wrap_content一样,是UILabel 可以根据内容来展示控件的宽高

目前提供ZFUI framework里只提供了UILabel和UIButton的方法

它们都继承对应父类,然后重写里父类的方法,让控件使用更加简单和方便

实现方法

直接上代码,Demo和framework可以去github上下载

https://github.com/joshuaGeng/ZFUI-Framework

首先把ZFUI.framework 添加到项目里

调用的方法

#import <ZFUI/ZFUI.h>

// 创建一个Label的方法

ZFUILabel *label = [[ZFUILabel alloc] init];

label.numberOfLines = 0;

label.backgroundColor = [UIColor greenColor];

[label setLabelText:@"HelloWorld" andWithFrame:CGRectMake(100, 70, 0, 0)];

//label.isCanCopy = YES;

//label.titleCopy = @"Copy";

//设置不同颜色

[label setAttributeColorWithAllStr:label.text andAllColor:[UIColor redColor] andWithDiffStr:@"World" andDiffColor:[UIColor blackColor]];

[self.view addSubview:label];

// button

ZFUIButton *button = [[ZFUIButton alloc] initWithFrame:CGRectMake(100, 120, 120, 60)];

[button setImage:[UIImage imageNamed:@"img"] forState:UIControlStateNormal];

[button setTitle:@"Button" forState:UIControlStateNormal];

button.backgroundColor = [UIColor orangeColor];

button.btnImgRect = CGRectMake(10, 20, 22, 21);

button.btnTitleRect = CGRectMake(50, 20, 120, 30);

[self.view addSubview:button];

目前提供ZFUI framework里只提供了UILabel和UIButton的方法,后续还会继续更新,有需要的可以下载,Demo里的注释也很很详细。

时间: 2024-07-29 09:59:12

iOS 开发 ZFUI framework控件,使布局更简单的相关文章

IOS开发自定义CheckBox控件

IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码 效果图: UICheckBoxButton.h文件如下: #import #import "Common.h" @interface UICheckBoxButton : UIControl { UILabel *label; UIImageView *icon; BOOL checked; id delegate; } @property (retain, nonat

1、iOS 开发之基础控件

一.UIView 1.UIView的常见的属性 @property(nonatomic) CGRect frame; @property(nonatomic) CGRect bounds; @property(nonatomic) CGPoint center; @property(nonatomic) CGAffineTransform transform; @property(nonatomic,readonly) UIView *superview; @property(nonatomic

iOS开发基础-UITableView控件简单介绍

 UITableView 继承自 UIScrollView ,用于实现表格数据展示,支持垂直滚动.  UITableView 需要一个数据源来显示数据,并向数据源查询一共有多少行数据以及每一行显示什么内容等.凡是遵守 UITableViewDataSource 协议的Objc对象,都可以是 UITableView 的数据源.  - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  返回共有多少组数据.  - (NSI

iOS开发导航栏控件的作用

一,在iOS开发过程中针对一些导航栏上需要自定义视图的情况,有时候需要用系统自带的处理,有些时候需要自定义一些视图并把视图添加上去,这时候主要是它们的位置有些许差别,下面简单写下demo: 1,用导航栏系统自带的视图处理: 1 //1 中间的图片 2 UIImageView *imageBarView = [[UIImageView alloc] initWithFrame:CGRectMake(kScreenWidth / 2.f - 40.f, 20.f, 80, 30)]; 3 image

IOS开发基础常用控件简介

在IOS开发中,各类控件完美的解决了开发过程中界面与交互展现的问题,使得IOS产品界面更加灵活实用,IOS常用控件的介绍如下. 1.窗口 UIWindow iPhone的规则是一个窗口,多个视图,窗口是你在app显示出来你看到的最底层,他是固定不变的,基本上可以不怎么理会,但要知道每层是怎样的架构. 2.视图 UIView, 是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它当成是一个画布,你可以通过UIView增加控件,并利用控件和用户进行交互和传递数据. 窗口和视图是最基本

iOS开发 - 最常用控件 UITableView详解

UITableView掌握点 设置UITableView的dataSource.delegate UITableView多组数据和单组数据的展示 UITableViewCell的常见属性 UITableView的性能优化(cell的循环利用) 自定义Cell 如何展示数据 UITableView需要一个数据源(dataSource)来显示数据 UITableView会向数据源查询一共有多少行数据以及每一行显示什么数据等 没有设置数据源的UITableView只是个空壳 凡是遵守UITableVi

iOS开发中UIDatePicker控件的使用方法简介

iOS上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式. 您可以选择自己需要的模式,Time, Date,Date and Time  , Count Down Timer四种模式. 本篇文章简单介绍下PickerDate控件的使用1.新建一个Singe View Application,命名为DatePickDemo,其他设置如图 2.放置控件打开ViewController.xib,拖拽一个DatePicker控件放到界面上,再拖拽一个Button控件放到界面上,双

iOS开发无第三方控件的援助达到的效果侧边栏

最近的研究iOS程序侧边栏.渐渐的发现iOS该方案还开始采取风侧边栏格该,QQ,今日头条,Path(Path运营商最早的侧边栏app该,效果说成是Path效果),所以就研究了下. 然后发现Git Hub上有非常多側边栏的控件,这些控件效果也都挺玄的.可是我想找到不用第三方控件自己实现側边栏呢?后来參照这篇blog,然后自己搞了下,算搞清楚了.以下具体介绍一下吧. 1. 首先我们须要在storyboard里面新建3个view controlle,这里也能够是navigation controlle

iOS开发--UIPickerView(选择器控件) 省份和城市的做法

//UIPickerView 是一个选择器控件,它可以生成单列的选择器,也可生成多列的选择器 @interface ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate> @property(strong,nonatomic) UIPickerView *MyPickerView; @property(strong,nonatomic) NSMutableArray *ProvinceArr;