- 基于 >= iOS7
//label高度
CGFloat _textHeight = 0;
//第一种 -- 可以得到宽高 -- 前提一个无线大
//不能对富文本赋值后的计算
_textHeight = [label textRectForBounds:frame limitedToNumberOfLines:1].size.height;
//第二种 -- 可以得到宽高
//1)确定行数,进行剪切
//2)不确定行数,宽高一个无限大,进行剪切
[label sizeToFit];
_textHeight = label.frame.size.height;
_textWidth = label.frame.size.width;
//第三种 对于特殊文字、字符,计算的结果并不满人意
CGFloat width = 200;//当宽度是已知的。
_textHeight = [label boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin |NSStringDrawingUsesFontLeading
attributes: @{NSFontAttributeName: label.font}
context:nil].size.height;
这里我只是做了个框架,具体的界面美化和数据等等根据需求自己完善。而这个框架主要提供思路。
上面的不知道你观察了没有,很多文字、日期 + 时间、数字、图片等等 都是来自于 自动生成假数据 的类。下面介绍下:
@interface RXRandom : NSObject
/// 随机日期-最近一个月随机
+ (NSString *)randomDateString;
/// 随机日期---- 几个月随机
+ (NSString *)randomDateStringWithinCount:(NSInteger)count;
///可以返回最近30天,最近几个小时等等操作,需要改内部
/// 随机汉字--100 以内
+ (NSString *)randomChinas;
/// 随机汉字--count 以内
+ (NSString *)randomChinasWithinCount:(NSInteger)count;
/// 字符串 -- 不定长
+ (NSString *)randomString;
/// 随机字母 - 26个
+ (NSString *)randomLetter;
+ (NSString *)randomLetterWithInCount:(NSInteger)count;
/// 随机 给出 图片网址
+ (NSString *) randomImageURL;
/// 随机颜色
+ (UIColor *)randomColor;
/// 返回当前日期时间
+ (double)randomNowDate;
/// 随机倒计时日期时间 (前提是大于当前时间)
+ (NSString *)randomTimeCountdown;
@end
#import "RXCharacter.h"
@implementation RXCaCheController
- (void)viewDidLoad {
[super viewDidLoad];
NSString * string = @"https://github.com/srxboys";
if(StrBool(string)) {
//是否为字符串
}
if(UrlBool(string)) {
//是否为 网址
}
if(ArrBool(string)) {
//是否为 数组
}
//参数 空处理
string = @"0"; // or --> string = @"<null>"
NSString * dictionaryValue = [string strNotEmptyValue];
RXLog(@"dictValue=%@", dictionaryValue);
}
@end
调用 收货地址 选择 省/市/区 显示控件
// 1级 3联动
#import "RXOneLinkageTreeAddress.h"
// 3级联动
#import "RXThreeLinkageAddress.h"
//仿照京东v1.5.0
#import "RXJDAddressPickerView.h"
调用 日期、时间 选择样式 显示控件
//系统4种样式
#import "RXNomalDatePicker.h"
//系统日期自定义样式
#import "RXDatePicker.h"
//自封装样式
#import "RXDateTimePicker.h"
//调用者自定义样式
#import "RXPickerView.h"
~ ~ ~ coding ~ ~ ~
此项目主要是以框架为主,方法为辅。方便开发。
如果你有想说的可以 issues I 。
如果你有更好的改进,please pull reqeust me
😅😅😅😅😅