开发者

Removing a UIView from its superView and expanding its frame to full screen

I have an object that is a subclass of UIView that can be added to a view hierarchy as a subView. I want to be able to remove the UIView from its superView and add it as a subView of the main window and then expand to full screen.

Something along the lines of:

// Remove from superView and add to mainWindow
[self retain];
[self removeFromSuperView];
[mainWindow addSubView:self];

// Animate to full screen
[UIView beginAnimations:@"expandToFullScreen" context:nil];
[UIView setAnimationDuration:1.0];
self.frame = [[UIScreen mainScreen] applicationFrame];
[UIView commitAnimations];

[self release];

Firstly am I on the right lines? Secondly, is there an easily w开发者_Python百科ay for the object to get a pointer to the mainWindow?

Thanks

Dave


You could use window property of the view

self.window


Looks good. But you might want to convert the view's frame from its superview coordinate system to the window's coordinate system, before beginning the animation. Otherwise the animation will not be smooth.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜