【发布时间】:2013-04-10 21:49:15
【问题描述】:
我是 iOS 开发的新手,我很头疼,不理解一些可能很容易的东西。 基本上我使用 UITableViewController 去另一个 UITableViewController,但是我需要从第二个 UITableViewController 去一个 UIViewController。我希望这个 UIViewController 有一个 .xib 文件让我制作一个快速的 UI,但我似乎找不到从第二个 UITableViewController 推送到这个 UIViewController 的方法。 我设法以编程方式显示标签,但不是来自 .xib 的 UI。
这是与程序化标签一起使用的代码:
- (void)tableView:(UITableView *)tableView
accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
self.detailController.title = @"Disclosure Button Pressed";
NSString *selectedMovie = self.movies[indexPath.row];
NSString *detailMessage = [[NSString alloc]
initWithFormat:@"This is details for %@.",
selectedMovie];
self.detailController.message = detailMessage;
self.detailController.title = selectedMovie;
[self.navigationController pushViewController:self.detailController
animated:YES];
}
这是 UIViewController 的 .m,用于以编程方式显示 UILabel。
@implementation BIDDisclosureDetailViewController
- (UILabel *)label;
{
return (id)self.view;
}
- (void)loadView;
{
UILabel *label = [[UILabel alloc] init];
label.numberOfLines = 0;
label.textAlignment = NSTextAlignmentCenter;
self.view = label;
}
- (void)viewWillAppear:(BOOL)animated;
{
[super viewWillAppear:animated];
self.label.text = self.message;
}
@end
基本上我不想以编程方式创建任何 UIObject,我需要一个 .xib 来创建 UI。
谢谢
(iOS 6,不使用情节提要)
【问题讨论】:
-
你在哪里创建实际的视图控制器?你需要在推送之前分配初始化它。
-
如果您使用的是 iOS 6,为什么要使用 xibs 而不是情节提要?除非您正在处理遗留代码,否则我认为没有理由再使用 xibs。
标签: ios uiviewcontroller push nib