iOS开发 画一条线

并不是啥好方法,就是一个View

在这我只是展示一些用起来很方便的宏定义

// 一条线
+ (UIView *)getLineFramePosY:(CGFloat)posY withSuperView:(UIView *)superView isRight:(BOOL)isRight{
    
    CGFloat lineX = isRight ? 0 : 15;
    
    UIView *line = [[UIView alloc] initWithFrame:CGRectMake(lineX, posY, KLScreenWidth, 0.5)];
    line.backgroundColor = KLColorFrom16RGB(0xDCDCDC);
    [superView addSubview:line];
    return line;
}

其中一些宏定义

// 根据16位RBG值转换成颜色,格式:KLColorFrom16RGB(0xFF0000)
#define KLColorFrom16RGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

// 根据10位RBG值转换成颜色, 格式:KLColorFrom10RBG(255,255,255)
#define KLColorFrom10RGB(RED, GREEN, BLUE) [UIColor colorWithRed:RED/255.0 green:GREEN/255.0 blue:BLUE/255.0 alpha:1.0]

// 获取应用屏幕大小
#define KLAppFrame [[UIScreen mainScreen] applicationFrame]
#define KLScreenBounds [UIScreen mainScreen].bounds
#define KLScreenWidth KLScreenBounds.size.width
#define KLScreenHeight KLScreenBounds.size.height
#define KLViewHeight CGRectGetHeight(KLScreenBounds) - 44 - 20

// 对字符串做特殊的宏,即保证返回的值不为空
#define ISNIL(x) ((x) == nil ? @"" : (x))
#define ISNILDefault(x, y) ((x) == nil ? y : (x))
#define ISNULL(x) ((x) == nil || [(x) isEqualToString:@"(null)"] ? @"" : (x))
// 对于block的弱引用
#define kBlockSelf __block __typeof(self)blockSelf = self;

// 日志打印
#ifdef DEBUG
#define KLLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define KLLog(...)
#endif


你可能感兴趣的:(ios)