【发布时间】:2012-02-04 20:45:00
【问题描述】:
我有一个 iPad 应用程序,它从 RSS 提要中提取信息,但我不想在下一个屏幕上推送信息,而是想在同一屏幕上显示它(见图)
当我使用 pushViewController 时,什么都没有发生。当我使用 presentModalViewController 时,蓝色背景变为 web 视图。但我想要的是当我点击左侧提要中的一行时,右侧的 webview 获取网站。
我通过使用 webview 推送到新屏幕对此进行了测试,这确实有效,但我希望它们都在同一个屏幕中
这是代码(显然我已经尝试了一些不同的东西,只是把它留在注释掉了):
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//EDITED to go to a webView instead of another table of info
if (_webViewController == nil) {
self.webViewController = [[[WebViewController alloc]
initWithNibName:@"WebViewController" bundle:[NSBundle mainBundle]] autorelease];
}
MWFeedItem *entry = [parsedItems objectAtIndex:indexPath.row];
_webViewController.entry = entry;
//[self.navigationController pushViewController:_webViewController animated:YES];
[self presentModalViewController:_webViewController animated:YES];
//BELOW UNFINISHED SO EDITED OUT
//self.webViewController._entry=[objectAtIndexPath:indexPath.row];
// Deselect
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
不确定是否需要我的 ViewController 信息,但这是一个精简版(位置不同,但其他一切都相同)
- (void)viewDidLoad
{
[super viewDidLoad];
[scroll setScrollEnabled:YES];
[scroll setContentSize:CGSizeMake(3840, self.view.frame.size.height)];
ScheduleRVC *_scheduleRVC = [[ScheduleRVC alloc] initWithNibName:@"ScheduleRVC" bundle:nil];
[_scheduleRVC.view setFrame:CGRectMake(408, 283, 340, 572)];
[scroll addSubview:_scheduleRVC.view];
MySchedule *_mySchedule = [[MySchedule alloc] initWithNibName:@"MySchedule" bundle:nil];
[_mySchedule.view setFrame:CGRectMake(10, 57, 340, 800)];
[scroll addSubview:_mySchedule.view];
WebViewController *_webViewController = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil];
[_webViewController.view setFrame:CGRectMake(408, 57, 340, 184)];
[scroll addSubview:_webViewController.view];
}
请帮忙(它会救一只小猫)
--添加 如果有帮助,这里是从 RSS 推送到 WebView 的代码(但就像我说的,我希望它们一起出现在屏幕上,而 SplitView 不适用于我正在做的事情)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Show detail
if (_webViewController == nil) {
self.webViewController = [[[WebViewController alloc] initWithNibName:@"WebViewController" bundle:[NSBundle mainBundle]] autorelease];
}
MWFeedItem *entry = [parsedItems objectAtIndex:indexPath.row];
_webViewController.entry = entry;
[self.navigationController pushViewController:_webViewController animated:YES];
// Deselect
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
【问题讨论】:
-
你为什么不用
UISplitViewController? -
这个屏幕只是这个应用程序的许多方面的一个方面,拆分不会与其他功能一起使用。
-
你不能通过 dropper 提供信息并强迫人们猜测你想做什么来帮助你。
-
viggio24,见第一句“我有一个 iPad 应用程序,它从 RSS 提要中提取信息,但我不想在下一个屏幕上推送信息,而是想在同一个屏幕上显示它(见图)”。
标签: ios ipad modalviewcontroller pushviewcontroller didselectrowatindexpath