我设法通过在新UIWebView
中加载NSURLRequest
来深度复制UIWebView
。
我还设法使用javascript复制“scrollTo”位置。
现在我正在考虑复制历史以及许多其他事情。
是否有记录的方法可以正确地执行此操作,或者我几乎在那里?
答案 0 :(得分:1)
不幸的是,没有直接的方法来实现它。
由于UIWebView
不符合NSCopying
协议,我相信您的方法到目前为止有效。
如果你想让这个可重用,你可以考虑继承UIWebView
并在copyWithZone:
协议方法的NSCopying
方法中实现你的复制算法。
如果您这样做,则可以随后使用标准copy
方法深层复制对象。
作为一个例子
@interface UICopyableWebView : UIWebView <NSCopying>
@end
#import "UICopyableWebView.h"
@implementation UICopyableWebView
- (id)copyWithZone:(NSZone *)zone {
id copy = [[[self class] alloc] init];
if (copy) {
// copy the relevant features of the current instance to the copy instance
}
return copy;
}
@end