我来到我的代码的一部分,我有点难过,我基本上要做的是加载一旦你在UITableView中点击谷歌,它将从单独加载谷歌查看控制器,它是一个UIWebView。我已经编码了我认为是正确的,虽然当我点击Google时,没有任何反应。我没有收到任何错误,应用程序运行正常就像我说的那样,一旦你点击选定的字段,它就不会导致任何问题。在你说什么之前我记得把UIWebView控制器导入我的第一个视图控制器.m文件。
这是我的第一个视图控制器.h
@interface YoMaFifthViewController : UITableViewController
{
NSArray *data, *sites;
}
@end
这是我的第一个视图控制器.m
- (void)viewDidLoad
{
[super viewDidLoad];
data = [NSArray arrayWithObjects:@"Website", @"Developer", nil];
sites = [NSArray arrayWithObjects:
@"https://www.google.co.uk/",
@"https://www.google.co.uk/",
nil];
`
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
`
// Configure the cell...
cell.textLabel.text = [data objectAtIndex:indexPath.row];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
`
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
YoMaWebsiteViewController *wvc = [[YoMaWebsiteViewController alloc] initWithNibName:@"YoMaWebsiteViewController" bundle:nil];
wvc.site = [sites objectAtIndex:indexPath.row];
[self.navigationController pushViewController:wvc animated:YES];
}
这是我的UIWebViews .h
`
@interface YoMaWebsiteViewController : UIViewController
{
IBOutlet UIWebView *webview;
}
@property (retain) NSString *site;
@end
&安培;这是UIWebViews .m
`
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:self.site];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];
答案 0 :(得分:0)
我的猜测是在执行viewDidLoad方法后,url正在设置。无论如何,在你的setter中使用loadURL方法(或者重新加载url并刷新webview的一些公共方法)并不是一个坏主意。
-(void)setSite:(NSString*)s {
_site = s;
if(webview) {
[self loadURL];
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
if([self.site length] > 0) {
[self loadURL];
}
}
-(void)loadURL {
NSURL *url = [NSURL URLWithString:self.site];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];
}