iOS 개발: UIWebView 내 비게 이 션 표시 줄 에 되 돌아 오기 및 닫 기 단 추 를 추가 합 니 다.
6787 단어 iOS 개발
이때 되 돌아 가기 단 추 를 다시 맞 추 려 면 C 페이지 에서 이전 H5 페이지 가 되 돌아 갈 수 있 는 지 판단 하고 자 합 니 다. 이전 페이지 가 있 는 지 H5 가 있 는 지 왼쪽 상단 의 되 돌아 오 기 를 누 르 면 B 페이지 로 돌아 가 고 B 페이지 의 왼쪽 상단 에 닫 기 단 추 를 추가 하려 면 이 닫 기 단 추 는 모든 H5 페이지 를 닫 고 원래 의 페이지 로 바로 돌아 가 는 역할 을 합 니 다.닫 기 단 추 를 누 르 지 않 고 되 돌아 오 기 를 누 르 면 B 페이지 에서 A 페이지 로 되 돌아 갑 니 다.되 돌아 오 기 를 다시 클릭 하면 H5 페이지 를 닫 고 원생 페이지 로 돌아간다.
@property (nonatomic,strong,readwrite) UIWebView *announceWebView;
- (UIWebView *)announceWebView {
if (!_announceWebView) {
_announceWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, deviceScreenWidth, deviceScreenHeight)];
_announceWebView.backgroundColor = MAIN_VIEW_COLOR;
_announceWebView.scalesPageToFit = YES;
_announceWebView.allowsInlineMediaPlayback = YES;
_announceWebView.mediaPlaybackRequiresUserAction = YES;
[self.view addSubview:self.announceWebView];
}
return _announceWebView;
}
@property (nonatomic,strong,readwrite) UIBarButtonItem *returnButton;
@property (nonatomic,strong,readwrite) UIBarButtonItem *closeItem;
- (UIBarButtonItem *)returnButton {
if (!_returnButton) {
_returnButton = [[UIBarButtonItem alloc] init];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *image = [UIImage imageNamed:@"fanhui.png"];
[button setImage:image forState:UIControlStateNormal];// “
[button setTitle:@" " forState:UIControlStateNormal];
[button addTarget:self action:@selector(respondsToReturnToBack:) forControlEvents:UIControlEventTouchUpInside];
[button.titleLabel setFont:[UIFont systemFontOfSize:17]];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[button sizeToFit];
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
button.contentEdgeInsets = UIEdgeInsetsMake(0, -15, 0, 0);
button.frame = CGRectMake(20, 0, 40, 40);
_returnButton.customView = button;
self.navigationItem.leftBarButtonItem = _returnButton;
}
return _returnButton;
}
- (UIBarButtonItem *)closeItem {
if (!_closeItem) {
_closeItem = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStyleDone target:self action:@selector(respondsToReturnToFind:)];
}
return _closeItem;
}
- (void)respondsToReturnToBack:(UIButton *)sender {
if ([self.announceWebView canGoBack]) {// H5
// , H5 ,
[self.announceWebView goBack];
self.navigationItem.leftBarButtonItems = @[self.returnButton, self.closeItem];
} else {
// , :
[self.navigationController popViewControllerAnimated:YES];
}
}
- (void)respondsToReturnToFind:(UIBarButtonItem *)sender {
[self.navigationController popViewControllerAnimated:YES];
}