我正在尝试使用导航栏(“后退”按钮,标题等)和选项卡栏(底部的工具栏)制作一个应用程序。我使用的是子视图,因此不必担心状态栏,导航栏,标签栏的高度等问题。但是我认为这给我带来了麻烦,因为我似乎无法弄清楚如何设置导航栏和标签栏。
这就是我所拥有的。我究竟做错了什么?
AppDelegate.h
(default for single view app)
AppDelegate.m
(default for single view app)
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) UIView *contentSubview;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)loadView{}
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor greenColor];
self.contentSubview = [[UIView alloc] init];
self.contentSubview.backgroundColor = [UIColor orangeColor];
[view addSubview:self.contentSubview];
self.view = view;
}
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
self.contentSubview.frame = CGRectMake(
0,
self.topLayoutGuide.length,
CGRectGetWidth(self.view.frame),
CGRectGetHeight(self.view.frame)-self.topLayoutGuide.length-self.bottomLayoutGuide.length
);
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
-(void)ViewDidLoad
{
UINavigationBar* navbar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)];
UINavigationItem* navItem = [[UINavigationItem alloc] initWithTitle:@"karthik"];
// [navbar setBarTintColor:[UIColor lightGrayColor]];
UIBarButtonItem* cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(onTapCancel:)];
navItem.leftBarButtonItem = cancelBtn;
UIBarButtonItem* doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(onTapDone:)];
navItem.rightBarButtonItem = doneBtn;
[navbar setItems:@[navItem]];
[self.view addSubview:navbar];
}
-(void)onTapDone:(UIBarButtonItem*)item{
}
-(void)onTapCancel:(UIBarButtonItem*)item{
}
迅捷3
let navigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height:44)) // Offset by 20 pixels vertically to take the status bar into account
navigationBar.backgroundColor = UIColor.white
// Create a navigation item with a title
let navigationItem = UINavigationItem()
navigationItem.title = "Title"
// Create left and right button for navigation item
let leftButton = UIBarButtonItem(title: "Save", style: .plain, target: self, action: #selector(ViewController.btn_clicked(_:)))
let rightButton = UIBarButtonItem(title: "Right", style: .plain, target: self, action: nil)
// Create two buttons for the navigation item
navigationItem.leftBarButtonItem = leftButton
navigationItem.rightBarButtonItem = rightButton
// Assign the navigation item to the navigation bar
navigationBar.items = [navigationItem]
// Make the navigation bar a subview of the current view controller
self.view.addSubview(navigationBar)
func btn_clicked(_ sender: UIBarButtonItem) {
// Do something
}
迅速
// Create the navigation bar
let navigationBar = UINavigationBar(frame: CGRectMake(0, 0, self.view.frame.size.width, 44)) // Offset by 20 pixels vertically to take the status bar into account
navigationBar.backgroundColor = UIColor.whiteColor()
navigationBar.delegate = self;
// Create a navigation item with a title
let navigationItem = UINavigationItem()
navigationItem.title = "Title"
// Create left and right button for navigation item
let leftButton = UIBarButtonItem(title: "Save", style: UIBarButtonItemStyle.Plain, target: self, action: "btn_clicked:")
let rightButton = UIBarButtonItem(title: "Right", style: UIBarButtonItemStyle.Plain, target: self, action: nil)
// Create two buttons for the navigation item
navigationItem.leftBarButtonItem = leftButton
navigationItem.rightBarButtonItem = rightButton
// Assign the navigation item to the navigation bar
navigationBar.items = [navigationItem]
// Make the navigation bar a subview of the current view controller
self.view.addSubview(navigationBar)
func btn_clicked(sender: UIBarButtonItem) {
// Do something
}
问题内容: 我一直在寻找这种解决方案已有一段时间,但是没有任何解决方案。例如一个解决方案是 此代码将添加带有“停止”图像的按钮。就像这样,还有其他解决方案,例如“搜索,刷新”等。但是 ,如果我想以编程方式在想要的图像上添加按钮,该怎么办? 问题答案: 自定义按钮图片,未设置按钮框: 您可以使用指定的图像和其他属性来初始化新项目。 检查此Apple文档。参考 UIBarButtonItem具有使用按
问题内容: 我知道更多视图控制器(导航栏)的存在将UIView按其高度向下推。我也知道这个高度= 44px。我还发现,这种下推保持了。 因此,除了将其设置为常数之外,如何确定此导航栏的高度? 或者,较短的版本,如何确定我的UIView显示在导航栏的顶部? 灯泡开始点亮。不幸的是,如下所述,我还没有发现纠正问题的统一方法。 我相信我的整个问题都围绕着我的自动调整大小掩码。我得出的结论是,无论是否使用
我正在尝试在Android上添加Wifi网络,我想知道如何连接到不广播其SSID的Wifi网络(它是否有空SSID或带有\0s的清晰SSID)。 这是我目前用于广播其SSID的Wifi网络的内容:
我尝试通过主题或编程方式更改导航栏的颜色。 以下是我到目前为止所做的尝试: 在样式v21中: 以编程方式: 问题是:它在Nexus设备(Android 7.1.1)上运行得很好,但在LG Q6上运行得不好(同样适用于Android 7.1.1)。 我认为有办法做到这一点(因为Youtube应用程序有自己的导航栏颜色),但我不知道怎么做。 我也尝试了几乎所有的东西,这里,这里,这里和这里,都没有成功
问题内容: 我有一个带有标题的导航栏。当我双击文本以将其重命名时,它实际上说这是一个导航项,所以可能就是这样。 我正在尝试使用代码来更改文本,例如: 那显然不是我的代码,只是显示了它是如何工作的。 因此,每当我按下按钮时,我都希望标题更改。 问题答案: 您可以通过更改显示的视图控制器的标题来更改标题: 通常,这是在视图控制器上加载视图时完成的: 但是,这仅在将视图控制器嵌入UINavigation
问题内容: 通过使用我可以使用元素创建由React Router本机处理的链接。 我在内部看到它的呼唤。 我想导航。不是来自链接,而是来自下拉菜单(例如)。如何在代码中执行此操作?什么啊 我看到了mixin,但是如果没有,我可以这样做吗? 问题答案: 带有钩子的React Router v5.1.0 如果您使用React> 16.8.0和功能组件,则React Router> 5.1.0中会有一个