我想要隱藏/取消隱藏灰色視圖(其中有按鈕),它位於cream/biege上面的webView - 請參閱附圖如何在基於頁面的應用程序的webview中錄製時隱藏/取消隱藏視圖
我已經使用在Xcode提供一個基於網頁應用程序模板。
方法1:隱藏/內部控制器取消隱藏
我試圖隱藏在同一個控制器
/取消隱藏,但問題是隱藏/取消隱藏創建和布爾值這個控制器的每一次新的實例丟失
方法2:協議&代表
我還試圖使用委託/協議從它的父控制器保持其狀態,但它從未得到內如果塊 -
如果([self.delegateReadingToolbar ..... ...塊是nev呃打電話。
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)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 respondsToSelector:@selector(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)contentViewDidFinish:(contentView *)controller showStatus:(BOOL)show;
@end
@property (nonatomic,weak)id<ReadingToolbarShowDelegate>delegateReadingToolbar;
ParentController.h
#import "ChildController.h"
@interface ParentController : UIViewController<UIPageViewControllerDataSource,UIPageViewControllerDelegate,ReadingToolbarShowDelegate>
ParentController.m
-(void)ChildControllerDidFinish:(contentView *)controller showStatus:(BOOL)show
{
showReadingToolbar = show;
}
您的選擇1在我的情況下不可行 - 因爲我必須處理更多的1000頁 - 而且我還必須保持它的動態 - 它可以長大任意數量的頁面。 –
選項否2 - NSUserDefault是好的,但我們不能過度使用1000個鍵/值對 - 你知道NSUserDefaults有什麼可用限制 –
有沒有辦法實現它協議 - 我已經在示例項目中使用它,但它的當我將相同的代碼移動到我的最終項目時不起作用 –