Ios UIWebview在类中设置委托方法
如何在类中设置UIWebView的委托方法 当我这样做的时候,应用程序会自动启动Ios UIWebview在类中设置委托方法,ios,objective-c,uiwebview,uiwebviewdelegate,Ios,Objective C,Uiwebview,Uiwebviewdelegate,如何在类中设置UIWebView的委托方法 当我这样做的时候,应用程序会自动启动 我使用它: self.m_pWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; MineWebViewHandle *handle = [[MineWebViewHandle alloc]init]; self.m_pWebView.delegate = handle; self.m_pWebView.backgroun
我使用它:
self.m_pWebView = [[UIWebView alloc] initWithFrame:CGRectZero];
MineWebViewHandle *handle = [[MineWebViewHandle alloc]init];
self.m_pWebView.delegate = handle;
self.m_pWebView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.m_pWebView];
如何正确地使用它?您的委托看起来像是在viewDidLoad中创建的,并且在本次发布的最后(置为零) 您需要创建一个名为:MineWebViewHandle*handle的属性 在viewController.h中添加:
@property (nonatomic,strong)MineWebViewHandle *handle;
以及代码中的更改:
self.handle = [[MineWebViewHandle alloc]init];
self.m_pWebView.delegate = self. handle;
您的网络视图最好有维度,请更改以下内容:
self.m_pWebView = [[UIWebView alloc] initWithFrame:self.view.frame];
Webview
是UIView
,而不是控制器
请删除NSObject
并添加UIview
@interface MineWebViewHandle : UIView
@end
你能添加崩溃消息吗?你为什么给你的网络视图零帧?正如上面提到的,你可以发布坠机消息。谢谢!这对我有帮助!是的,我是在viewDidLoad中做的!但我认为在ARC中,“MineWebViewHandle*handle=[[MineWebViewHandle alloc]init]”句柄会有一个优点。为什么会释放它?不管一个对象的优点有多大,如果它的引用计数为零,那么该对象都会被释放。问题是您的对象句柄有一个+1(alloc),但是在方法的末尾收到一个-1,并且被销毁。然而,如果你把它放在一个强属性中,另一个+1将被添加。
self.m_pWebView = [[UIWebView alloc] initWithFrame:self.view.frame];
@interface MineWebViewHandle : UIView
@end