gpt4 book ai didi

ios - drawRect 适合动画代码吗?

转载 作者:行者123 更新时间:2023-11-28 22:39:37 26 4
gpt4 key购买 nike

我将动画代码放在我的 UIView 子类的 drawRect 中。我真的在寻找类似 UIViewController 的 viewWillAppear 的东西。但我想使用 UIView 而不是 UIViewController。我正在使用下面的代码。动画代码放在drawRect中合适吗?显示 View 时,动画只是启动动画。

- (void)drawRect:(CGRect)rect
{

[_graphView setFrame:CGRectMake(0.0f, 0.0f, 30.0 + (_defaultArray.count * STEP_X), self.frame.size.height)];
[self setContentSize:CGSizeMake(30.0 + (_defaultArray.count * STEP_X), _graphView.frame.size.height)];

float delayInSeconds = 0.25f;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

if (_graphView.frame.size.width > GRAPH_WIDTH) [self setContentOffset:CGPointMake(_graphView.frame.size.width - GRAPH_WIDTH, 0.0f) animated:YES];

});
}

最佳答案

不,这是个糟糕的主意。在 -drawRect: 的实现中,您唯一应该做的就是绘制 View 的内容。您的代码都没有做任何接近于此的事情。

(如果此 View 是 UIScrollView 的子类,您可能根本不应该覆盖 -drawRect:。)

该代码看起来更适合在 View Controller 中使用,或者在 View 的设置代码中使用(它是否创建了 _graphView 本身?)。在不了解更多代码其余部分的情况下,很难准确地指出它属于哪里。

关于ios - drawRect 适合动画代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14930183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com