1 @implementationNjview2 3 /*4 -(void) awakefromnib5 {6 7 NSLog (@ "awakefromnib");8 //Create Cadisplaylink, default 60 times per second9 Cadisplaylink *display = [Cadisplaylink displaylinkwithtarget:self selector: @selector (updataimage)];Ten //Add Cadisplaylink to the message loop One [Display Addtorunloop:[nsrunloop mainrunloop] formode:nsdefaultrunloopmode]; A } - */ - the -- (ID) Initwithcoder: (Nscoder *) Adecoder - { - if(self =[Super Initwithcoder:adecoder]) { +NSLog (@"Initwithcoder"); - + //Nstimer is typically used to periodically update some non-interface data A //[Nstimer scheduledtimerwithtimeinterval: at //0.1 target:self selector: @selector (updataimage) Userinfo:nil Repeats:yes]; - - //Create Cadisplaylink, default 60 times per second -Cadisplaylink *display =[Cadisplaylink displaylinkwithtarget:self selector: @selector (updataimage)]; - //adding Cadisplaylink to the message loop - [Display Addtorunloop:[nsrunloop mainrunloop] formode:nsdefaultrunloopmode]; in - } to returnSelf ; + } - the- (void) Updataimage * { $ [self setneedsdisplay];Panax Notoginseng } - the +- (void) DrawRect: (cgrect) Rect A { theCgcontextref CTX =Uigraphicsgetcurrentcontext (); + //Cgcontextclearrect (CTX, rect); - $Self.imagey + =Ten; $ - if(Self.imagey >rect.size.height) { -Self.imagey =0; the } - //Drawing CodeWuyiUIImage *image = [UIImage imagenamed:@"Snow"]; the[Image Drawatpoint:cgpointmake (Ten, Self.imagey)]; - Wu -}
iOS Brush frame animation