一些好用的宏

作者: 小木___Boy | 来源:发表于2015-12-14 00:59 被阅读181次

适当的使用一些宏,在开发中还是十分便捷的。

1、返回一个weak 的对象
#define WS(weakSelf) __weak __typeof(&*self)weakSelf = self;

// 使用示例 在某一个控制器里
WS(weakself);
[weakself makeDateSource];

2、返回字符串的size

判断是否是大于iOS7
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
方法1:WT_TEXTSIZE(text, font) 传两个参数 text 和 font即可
方法2:WT_MULTILINE_TEXTSIZE(text, font, maxSize) 三个参数 参数maxSize计算字符串的边界条件。

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
#define WT_TEXTSIZE(text, font) [text length] > 0 ? [text \
sizeWithAttributes:@{NSFontAttributeName:font}] : CGSizeZero;
#else
#define WT_TEXTSIZE(text, font) [text length] > 0 ? [text sizeWithFont:font] : CGSizeZero;
#endif

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
#define WT_MULTILINE_TEXTSIZE(text, font, maxSize) [text length] > 0 ? [text \
boundingRectWithSize:maxSize options:(NSStringDrawingUsesLineFragmentOrigin) \
attributes:@{NSFontAttributeName:font} context:nil].size : CGSizeZero;
#else
#define WT_MULTILINE_TEXTSIZE(text, font, maxSize) [text length] > 0 ? [text \
sizeWithFont:font constrainedToSize:maxSize lineBreakMode:mode] : CGSizeZero;
#endif

3、屏幕尺寸

// 适配参数
#define SCALE_H MainScreenHeight/(568)
#define SCALE_W WIDTH/(320)
#define MyCGRect(a,b,c,d) CGRectMake((a)*SCALE_W, (b)*SCALE_H, (c)*SCALE_W, (d)*SCALE_H)

4、颜色RGB 和 十六进制转换

#define WTColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]

#define WTColorAlpha(r, g, b, a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
// 随机色
#define WTRandomColor WTColor(arc4random_uniform(256), arc4random_uniform(256), arc4random_uniform(256))

<pre><code>This is a code block.
</code></pre>

相关文章

  • 一些好用的宏

    适当的使用一些宏,在开发中还是十分便捷的。 1、返回一个weak 的对象#define WS(weakSelf) ...

  • [好用的宏]

    好用的宏

  • 好用的宏

    a

  • 好用的iOS宏定义

    安全的主线程调用块定义: #define dispatch_async_main_safe(block)\ if ...

  • 判断字符串是否为空的宏定义

    分享一个判断字符串是否为空的宏定义 好用快捷。 ???

  • iOS高效 宏和常量

    记录一些高效的宏 尺寸 打印宏 NSLog 系统宏 颜色宏 其他宏 参考致谢 link

  • 【进阶篇】iOS常用的OC宏定义

    整理一下开发中常用的宏定义,正所谓工欲善其事必先利其器,没有一些方便好用的东西,就能让编码变得更加高效~~~ //...

  • LaTeX:fontspac字体设置使用说明

    前言:fontspac宏包是最好用的字体设置宏包,在.cls模板文件中经常看见看到它的出现。下面要对它的相关参数进...

  • iOS宏一些使用

    在开发中,我们经常需要使用一些宏或者自定义一些宏。 宏是已被命名的代码片段。使用宏时会进行代码段的替换。有两种宏的...

  • ios宏的总结

    宏定义为对象宏和函数宏,对象宏通常是对一些简单的对象进行替换,如#define M_PI 3.1415,函数宏(在...

网友评论

    本文标题:一些好用的宏

    本文链接:https://www.haomeiwen.com/subject/huhuhttx.html