我是新手iOS,所以我不太了解。我知道如何制作UIView(及其子视图),但我不知道drawRect
我创建了一个继承自方法UIView并在initWithFrame方法中创建子视图的类。我想在添加后绘制一个NSStringusing并在 5 秒后将其移出视图。CGContextsubViews
谁能解释何时drawRect调用以及如何移动它?
我是新手iOS,所以我不太了解。我知道如何制作UIView(及其子视图),但我不知道drawRect
我创建了一个继承自方法UIView并在initWithFrame方法中创建子视图的类。我想在添加后绘制一个NSStringusing并在 5 秒后将其移出视图。CGContextsubViews
谁能解释何时drawRect调用以及如何移动它?
此代码可帮助您绘制NSString之前存储在_content中的 a :
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
[_content drawInRect:rectForFrame
withFont:[UIFont fontWithName:kFontMedium size:15.0f]
lineBreakMode:NSLineBreakByWordWrapping
alignment:NSTextAlignmentCenter];
}
要让元素滑出,您必须在显示NSTimer后调用 a UIView(可能会延迟使用performSelector:withObject:afterDelay:)并更改CGRect要写入NSString内部的属性。您可以设置一个方法,该方法将NSTimer在特定时间间隔内由您调用,该方法也会更新UIView.
- (void)updateView{
//create a rect
rectForFrame = CGRectMake....;
[self setNeedsDisplay];
}
一种方法是绘制字符串,然后启动NSTimer. 启动一个 5 秒计时器,当它触发时,您可以移动它。
至于何时-drawRect:调用 - 每当您的视图需要更新时都会调用它。当您的视图首次被操作系统显示时,它将被调用。之后,它通常会在它改变大小或形状时被调用,或者当你的代码调用时[myView setNeedsDisplay:YES],它会告诉操作系统更新它。