我是新手iOS
,所以我不太了解。我知道如何制作UIView
(及其子视图),但我不知道drawRect
我创建了一个继承自方法UIView
并在initWithFrame
方法中创建子视图的类。我想在添加后绘制一个NSString
using并在 5 秒后将其移出视图。CGContext
subViews
谁能解释何时drawRect
调用以及如何移动它?
我是新手iOS
,所以我不太了解。我知道如何制作UIView
(及其子视图),但我不知道drawRect
我创建了一个继承自方法UIView
并在initWithFrame
方法中创建子视图的类。我想在添加后绘制一个NSString
using并在 5 秒后将其移出视图。CGContext
subViews
谁能解释何时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]
,它会告诉操作系统更新它。