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