代码之家  ›  专栏  ›  技术社区  ›  stepik21

iOS-以编程方式实现SFGaugeView

  •  0
  • stepik21  · 技术社区  · 12 年前

    我想补充 SFGaugeView 到我的应用程序。

    当我在故事板中创建UIView时,将类更改为SFGaugeView并连接Outlet,这一切都很好。但是当我以编程方式(这是我所需要的)执行时,它不起作用。

    以下是我的进展:

    #import SFGaugeView.h
    

    然后,我设置了属性( @property (nonatomic) IBOutlet SFGaugeView *middleTachometer; )在.h文件中

    在.m文件中,我有以下代码:

    self.middleTachometer = [[SFGaugeView alloc] initWithFrame:CGRectMake(0, 0, 320, 504)];
    self.middleTachometer.bgColor = [UIColor colorWithRed:102/255.0 green:175/255.0 blue:102/255.0 alpha:1];
    self.middleTachometer.needleColor = [UIColor colorWithRed:27/255.0 green:103/255.0 blue:107/255.0 alpha:1];
    self.middleTachometer.maxlevel = 10;
    self.middleTachometer.minImage = @"minImage";
    self.middleTachometer.maxImage = @"maxImage";
    
    SFGaugeView *viewC = [[SFGaugeView alloc] initWithFrame:CGRectMake(0, 0, 320, 504)];
    
    [viewC addSubview:self.middleTachometer];
    [self.view addSubview:viewC];
    

    结果是Gauge出现在视图中,但它不与手势交互(与故事板交互)。请问问题在哪里?非常感谢。

    1 回复  |  直到 12 年前
        1
  •  2
  •   Blitz    12 年前

    为什么有两个SFGaugeView?我认为这样更改代码:

    self.middleTachometer = [[SFGaugeView alloc] initWithFrame:CGRectMake(0, 0, 320, 504)];
    self.middleTachometer.bgColor = [UIColor colorWithRed:102/255.0 green:175/255.0  blue:102/255.0 alpha:1];
    self.middleTachometer.needleColor = [UIColor colorWithRed:27/255.0 green:103/255.0 blue:107/255.0 alpha:1];
    self.middleTachometer.maxlevel = 10;
    self.middleTachometer.minImage = @"minImage";
    self.middleTachometer.maxImage = @"maxImage";
    
    [self.view addSubview:self.middleTachometer];
    

    应该玩这个把戏!

    编辑: 好的,让我感兴趣-我重新创建了一个测试项目,问题严重地出现在SFGaugeView类中-当手动添加它时 setup 方法。 因此,您可以手动调用 awakeFromNIB 方法或等待我的拉取请求( https://github.com/simpliflow/SFGaugeView/pull/1 )要合并到!