我想隐藏/取消隐藏灰色 View (有按钮),它位于奶油色/比格色 webView 的顶部 - 请参阅附图
我使用了 xcode 中提供的基于页面的应用程序模板。
方法一:在 Controller 内部隐藏/取消隐藏
我试图在同一个 Controller 中隐藏/取消隐藏
但问题是每次创建此 Controller 的新实例并且隐藏/取消隐藏的 bool 值都丢失了
方法 2:协议(protocol)和委托(delegate)
我也尝试使用委托(delegate)/协议(protocol)来维护其父 Controller 的状态,但它永远不会进入 if block -
if ([self.delegateReadingToolbar........ block 永远不会被调用。
-(void)touchesEndedNSSet *)touches withEventUIEvent *)event
{
UITouch *touch = [touches anyObject];
if(touch)
{
CGPoint location = [touch locationInView: [touch view]];
if (CGRectContainsPoint(webViewTouch, location))
{
//do whatever
NSLog(@"webView Touched");
if (self.showReadingToolBar)
{
self.showReadingToolBar = NO; // approach 1
self.viewReadingToolBar.hidden = NO;
// approach 2
if ([self.delegateReadingToolbar respondsToSelectorselector(contentViewDidFinish:showStatus])
{ // this block is never called
[self.delegateReadingToolbar contentViewDidFinish:self showStatus:NO];
}
}
else
{
self.showReadingToolBar = YES;
self.viewReadingToolBar.hidden = YES;
[self.delegateReadingToolbar contentViewDidFinish:self showStatus:YES];
}
}
}
}
对于方法 2 编码:
ChildController.h
@class ChildController;
@protocol ReadingToolbarShowDelegate <NSObject>
-(void)contentViewDidFinishcontentView *)controller showStatusBOOL)show;
@end
@property (nonatomic,weak)id<ReadingToolbarShowDelegate>delegateReadingToolbar;
ParentController.h
#import "ChildController.h"
@interface ParentController : UIViewController<UIPageViewControllerDataSource,UIPageViewControllerDelegate,ReadingToolbarShowDelegate>
ParentController.m
-(void)ChildControllerDidFinishcontentView *)controller showStatusBOOL)show
{
showReadingToolbar = show;
}
如果你分配/初始化一个新的 Controller ,之前设置的值将会消失。您实际上是在创建一个新对象。我看到了几种不同的方法可以做到这一点。
将您的 Controller 放在导航 Controller 中,然后将其他 Controller 插入或移出堆栈。这样您就不必实例化新对象。
您可以将所需的显示配置保存在 NSUserDefaults 键/值对中。每当您需要创建这种类型的新对象时,它都会在 NSUserDefault 中查找值。
关于ios - 在基于页面的应用程序中的 webview 上录制时如何隐藏/取消隐藏 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19724592/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |