zoukankan      html  css  js  c++  java
  • 一个可缩放的刻度尺

    偶然遇到一个需求:可缩放,二级刻度可显隐。

    两个思路:1.所有的刻度都画出来,根据缩放比例控制二级刻度的显隐。理论上会流畅些。

         2.开始只展示一级刻度,当缩放比例超过某个级别时候,添加子刻度。

    这里尝试了第二条,效果还可以。贴上主要代码:

    -(void)layoutSubviews
    {
        [super layoutSubviews];
        
        for (UIView *view in self.subviews) {
            if (1024 == view.tag) {
                [view removeFromSuperview];
            }
        }
        
        for (NSInteger i = 0; i < _count; i++) {
            UIView *sign = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 6, 6)];
            sign.tag = 1024;
            sign.backgroundColor = [UIColor redColor];
            CGPoint center = CGPointMake(i * self.frame.size.width / _count, self.frame.size.height / 2);
            sign.center = center;
    //        sign.layer.cornerRadius = 3;
    //        sign.clipsToBounds = YES;
            [self addSubview:sign];
            
            if (self.width > _originLength * 10) {
                if (i < _count) {
                    for (NSInteger j = 0; j < 10; j++) {
                        UIView *sign = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 4, 4)];
                        sign.tag = 1024;
                        sign.backgroundColor = [UIColor redColor];
                        CGPoint center = CGPointMake(i * self.frame.size.width / _count + j * self.frame.size.width / _count / 10, self.frame.size.height / 2);
                        sign.center = center;
                        sign.layer.cornerRadius = 2;
                        sign.clipsToBounds = YES;
                        [self addSubview:sign];
                    }
                }
            }
        }
    }

    草率的记录一下,欢迎斧正!

  • 相关阅读:
    第3章 MFC框架程序剖析
    第2章 掌握C++
    第1章 Windows程序内部运行机制
    【MFC】画线
    使用RegSetValueEx修改注册表时遇到的问题(转)
    读书笔记
    POJ 1182[并查集]
    读书笔记
    HihoCoder 1532 : 最美和弦
    HihoCode 1531 : 德国心脏病
  • 原文地址:https://www.cnblogs.com/helmsyy/p/7080903.html
Copyright © 2011-2022 走看看