关于小控件以及小细节UI效果实现整理

开发中总是避免不了自己封装一些小工具, 虽然一般不是自己完全自定义的, 但里面的部分效果还是需要自己琢磨修改的.
比如常用的datePicker, 中间两行的分割线颜色是可以修改的. 目前最合理的修改方案如下:

- (void)changeSeparatorWithView:(UIView *)view
{
    if(view.subviews != 0)
    {
        if(view.bounds.size.height < 5)
        {
            view.backgroundColor = [UIColor colorWithRed:74 / 255.0 green:181 / 255.0 blue:243 / 255.0 alpha:1];
        }
        [view.subviews enumerateObjectsUsingBlock:^(UIView *obj, NSUInteger idx, BOOL *stop) {
            [self changeSeparatorWithView:obj];
        }];
    }
}

关于使用"贝塞尔曲线"画图,
在代码中我们直接在.m中实现"-(void)drawRect:(CGRect)rect"这个方法即可, 无需在声明及其它接口方法中调用.
但是要明确一点, 就是视图frame一定要提前设置好, 不然图形画不出来, 是不走这个方法的.
下面就记录一段绘制三角形的代码:

-(void)drawRect:(CGRect)rect
{
    // Drawing code  通过贝塞尔曲线绘制三角形
    
    //定义画图的path
    UIBezierPath *path = [[UIBezierPath alloc] init];
    
    //path移动到开始画图的位置
    [path moveToPoint:CGPointMake(rect.origin.x, rect.origin.y)];
    //从开始位置画一条直线到(rect.origin.x + rect.size.width, rect.origin.y)
    [path addLineToPoint:CGPointMake(rect.origin.x + rect.size.width, rect.origin.y)];
    //再从rect.origin.x + rect.size.width, rect.origin.y))画一条线到(rect.origin.x + rect.size.width/2, rect.origin.y + rect.size.height)
    [path addLineToPoint:CGPointMake(rect.origin.x + rect.size.width/2, rect.origin.y + rect.size.height)];
    
    //关闭path
    [path closePath];
    
    //三角形内填充颜色
    [[UIColor colorWithRed:74 / 255.0 green:181 / 255.0 blue:243 / 255.0 alpha:1] setFill];
    
    [path fill];
    // //三角形的边框为红色
    // [[UIColor clearColor] setStroke];
    // [path stroke];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Quartz2D以及drawRect的重绘机制字数1487 阅读21 评论1 喜欢1一、什么是Quartz2D Q...
    PurpleWind阅读 4,245评论 0 3
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,852评论 0 17
  • 一. Quartz2D Quartz 2D 是一个二维绘图引擎,它能够支持: 1、绘制图形: 线条、三角形、矩形、...
    纯情_小火鸡阅读 4,640评论 0 0
  • --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益...
    韩七夏阅读 7,816评论 2 10
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,328评论 4 61