グレー色のビュー (ボタンがある) を非表示/非表示にしたいのですが、クリーム色/ベージュ色の webView の上にあります -添付の写真を参照してください
xcode で利用できるページ ベースのアプリケーション テンプレートを使用しました。
アプローチ1:コントローラー内
で非表示/非表示同じコントローラーで非表示/再表示しようとしまし
たが、このコントローラーの新しいインスタンスが作成されるたびに問題が発生し、非表示/非表示のブール値が失われます
アプローチ 2: プロトコルとデリゲート
また、デリゲート/プロトコルを使用して親コントローラーからのステータスを維持しようとしましたが、ブロック内に入ることはありません -
if ([self.delegateReadingToolbar........ ブロックが呼び出されることはありません。
-(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;
}