iPw*_*ech 10 xcode objective-c uinavigationbar modalviewcontroller
所以我有一个模态视图,并希望以编程方式添加UINavigationBar并使用Done按钮在用户完成阅读内容时关闭此视图.
有关如何执行此操作的任何想法以及是否可以完全不使用界面构建器?
小智 47
对不起,这里没有人真正阅读你的问题......这里是你要找的代码:
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];
navBar.backgroundColor = [UIColor whiteColor];
UINavigationItem *navItem = [[UINavigationItem alloc] init];
navItem.title = @"Navigation Bar title here";
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"Left" style:UIBarButtonItemStylePlain target:self action:@selector(yourMethod:)];
navItem.leftBarButtonItem = leftButton;
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Post" style:UIBarButtonItemStylePlain target:self action:@selector(yourOtherMethod:)];
navItem.rightBarButtonItem = rightButton;
navBar.items = @[ navItem ];
[self.view addSubview:navBar];
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助,祝你好运:)
将此代码添加到viewDidLoad方法中,一切都将自行构建.请注意,用您自己的方法签名替换选择器 -
快乐的编码
这绝对是可能的.
可能最简单的方法是将UIViewController你的模拟内容嵌入到a UINavigationViewController然后添加Done按钮,做类似的事情
UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(dismiss)];
self.navigationItem.rightBarButtonItem = doneButton;
Run Code Online (Sandbox Code Playgroud)
并实现dismiss如下方法
- (void)dismiss {
[self.presentingViewController dismissViewControllerAnimated:YES
completion:nil];
}
Run Code Online (Sandbox Code Playgroud)