【发布时间】:2012-02-27 16:23:44
【问题描述】:
如何将UIWebView 移出屏幕?
这是由CGRect 决定的吗?还是UIView 或UIWindow 的其他属性?
【问题讨论】:
标签: iphone objective-c ios uiview uiwebview
如何将UIWebView 移出屏幕?
这是由CGRect 决定的吗?还是UIView 或UIWindow 的其他属性?
【问题讨论】:
标签: iphone objective-c ios uiview uiwebview
你可以试试:
[webView setFrame:CGRectMake(320.0f, 0.0f, 320.0f, 480.0f)];
或
[webView removeFromSuperview];
第一个只是将其移出屏幕,您只是看不到它。第二个从superview中删除它,可能它仍然存在于内存中,或者当收到内存警告时它会被删除。
【讨论】:
UIWebView 是UIView 的子类(与可可触摸中最可见的对象一样),这意味着您可以使用setBounds 或setFrame 来“移动”视图。如果您使用负数或较大的正数,则视图将移出屏幕。
请记住,屏幕外的东西也会占用内存 ;-)
【讨论】:
是的,你可以这样做。您可以将UIWebView 的frame 属性更改为屏幕外的一些坐标。
您可以这样做,但如果您已完成 UIWebView 并且只想关闭它,那么这可能不是最佳解决方案,因为分配的内存仍未释放。首先将其设置为离开屏幕的动画,然后释放它以释放内存。要发布它,请执行[YourWebView removeFromSuperview]; [YourWebView release]; YourWebView=nil;。
【讨论】:
您可以通过将 hidden 属性设置为 YES 来隐藏它。
正如您所提到的,您还可以使用框架将其移出屏幕。 CGRectMake(self.superview.frame.size.width,self.superview.frame.size.height,...) 是一个不错的起点,尽管它不适用于轮换。
您也可以将 alpha 设置为 0,这类似于将其隐藏。
您也可以通过removeFromSuperview方法发送。
可能还有更多方法。
享受,
达米安
【讨论】: