Xcode:frame.size.height更改使视图的高度向下变化?

时间:2012-05-06 03:37:48

标签: iphone xcode view height

我正在尝试使用随着麦克风水平而变化的条形图,但是在向上方向上波动时却遇到了麻烦。这是代码

- (void)setVUMeterHeight:(float)height {
     if (height < 0)
        height = 0;

     CGRect frame = vuMeter.frame;
     frame.size.height = height+10;
     vuMeter.frame = frame;
}

- (void)updateVUMeter {
float height = (90+voiceSearch.audioLevel)*5/2;

     [self setVUMeterHeight:height];    
     [self performSelector:@selector(updateVUMeter) withObject:nil afterDelay:0.05];
}

问题是高度从10px开始,当麦克风变为活动状态时,高度会延长,但向下方向。我试图通过给出视图负高度值来解决这个问题,但是视图不能具有负高度。有没有人知道如何在向上的方向上改变高度?感谢。

1 个答案:

答案 0 :(得分:2)

将原点向上延伸与扩展大小相同的数量。

类似的东西:

- (void)setVUMeterHeight:(float)height {
     if (height < 0)
        height = 0;

     const CGFloat kMeterBottom = 200;
     CGRect frame = vuMeter.frame;
     frame.size.height = height+10;
     frame.origin.y = kMeterBottom - frame.size.height;
     vuMeter.frame = frame;
}