Web görünümünde, WebView ilk URL'sinde geri düğmesini göstermeyen basit bir 'Geri' düğmesi (bir gezinme çubuğunda veya bir üst araç çubuğunda) ayarlamak mümkündür - ve yalnızca Birinciye geri dönmek için ikinci bir URL’de mi görünecek?WebView'de gezinme
Bunu yanlış anlayamadığım sürece, Haberler uygulaması gibi birçok hibrit yerel/web uygulamasında, çoğu zaman haber makalelerini tabloda görebilirsiniz (bir 'xcode' programında programlanmış HTML sayfası yerine) makale detay sayfalarına (yine, doğal olarak kodlanmış HTML) - ne anlayamadığım, detay sayfasının (webview'deki 2. URL) bir 'geri düğmesi' ile görüntülendiği, ancak tablonun (webview'deki 1. URL) nasıl yapılacağıdır Bu tür uygulamalarda düğmenin görüntülenmesi var mı?
Şu anda, ekranın üst kısmındaki bir araç çubuğunda 'geri' çubuğu düğme öğesiyle (WebView için 'cangoback' olarak çıkış) açıklandığı şekilde bir web sayfam var. için 'geri dönün' için sayfa -
sadece var olan ettik ne:
Webview - 1 URL HTML tablosu - 'geri' düğmesine gösterileri, ama
(tabii ki) aktif değilWebview - 2. URL, HTML detay sayfası - 'geri' düğmesi gösterilir ve geri dönebilir.
Sadece 2. URL’de görünmesini veya 1. URL’de HIDDEN olmasını nasıl sağlarız?
Selamlar Randy
DÜZENLEME (25 Kasım)
İştebenim h var:
#import <UIKit/UIKit.h>
#import "FilmnoirNavController.h"
@interface FilmnoirViewController : UIViewController <UIWebViewDelegate> {
IBOutlet UIWebView *webView;
IBOutlet UIBarButtonItem *backButton;
}
@property (nonatomic, retain) UIWebView *webView;
@property (nonatomic, retain) UIBarButtonItem *backButton;
- (IBAction)backButtonClicked:(id)sender;
@end
ve burada benim m var:
#import "FilmnoirViewController.h"
@implementation FilmnoirViewController
@synthesize webView;
@synthesize backButton;
- (IBAction)backButtonClicked:(id)sender {
[webView goBack];
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Initialization code
}
return self;
}
/*
Implement loadView if you want to create a view hierarchy programmatically
- (void)loadView {
}
*/
/*
If you need to do additional setup after loading the view, override viewDidLoad. */
- (void)viewDidLoad {
NSString *urlAddress = @"http://www.filmsite.org/filmnoir.html";
//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];
//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//Load the request in the UIWebView.
[webView loadRequest:requestObj];
}
- (void)webViewDidFinishLoad {
// Other stuff if necessary...
// Could use hidden instead of enabled if you don't even want
// the button to be visible
backButton.enabled = (webView.canGoBack);
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
// Release anything that's not essential, such as cached data
}
- (void)dealloc {
[webView release];
[super dealloc];
}
@end
Benim IB düzeni:
Filmnoir View Controller (Film noir)
> View
>>Web View
>>Tool Bar
>>>Bar Button Item (Back)
sandım backButton gizlemek için böyle bir şeyle vardı:
- (void)webViewDidFinishLoad {
BOOL ableToGoBack = [webView canGoBack];
if (ableToGoBack == NO) {
[backButton setHidden:YES];
}
else {
[backButton setHidden:NO];
}
ama uyarı bir UIbarButton öğesi setHidden yanıt veremeyebilir diyor - ve gerçekten de öyle değil.
Teşekkür Sbrocket, ama yine de Web görünümündeki 1. URL'yi özelliği olmayan için düğmeye alma aynı sorun yaşıyorum. Önerildiği zaman backButton.hidden'i kullanmayı denediğimde bir hata alıyorum: üye 'gizli' için bir yapı ya da birlik değil. Geri düğmemin yalnızca webview 'cangoback' olduğunda görünmesi ve geri alınamadığında görünmesi için herhangi bir yardımı takdir edin. backButton = benim kod eklemek için açmasının soruyu kaydetmiştiniz webView cangoBack = HAYIR şerefe adamlar azgın ise gizli: kötü kodlanmış mantıkta Ben böyle bir şey istiyorum. –