xcode uibarbuttonitem 怎么在xib 隐藏

xcode uibarbuttonitem 怎么在xib 隐藏,第1张

1.新建一个基于UITableViewController的类。(xib里面应该已经有了tabview)

2.开始添加UINavigationBar。

在做这一步的时候遇到一些问题,困扰了我很久。其实就是我添加了UINavigationBar之后也显示出来了,可是他会遮住tabview 的一部分,我也知道原因,是区域问题,但是由于刚开始做还不会,所以找了很多。

下面贴代码

//解决问题的关键就下面的这段代码

UIView *headerView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 320, 44)]

self.tableView.tableHeaderView = headerView

[headerView release]

//加了上面的代码之后tabview就向下移了44个像素,那刚好放上navbar

CGRect aScreenRect = [[UIScreen mainScreen] bounds]

//创建navbar

UINavigationBar *nav = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, aScreenRect.size.width, 44)]

//创建navbaritem

UINavigationItem *NavTitle = [[UINavigationItem alloc] initWithTitle:@"详细介绍"]

[nav pushNavigationItem:NavTitle animated:YES]

[self.view addSubview:nav]

//创建barbutton 创建系统样式的

UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(navBackBt:)]

//设置barbutton

NavTitle.leftBarButtonItem = item

[nav setItems:[NSArray arrayWithObject:NavTitle]]

[item release]

[NavTitle release]

[nav release]

这样就OK了

1.设置导航栏为不透明

2.设置导航栏为半透明 [系统默认就是半透明的]

注意:iOS 导航栏如果设置为半透明,则其透明度为90%.也就是说,如果设置 self.navigationController.navigationBar.barTintColor =[UIColor colorWithRed:1 green:0 blue:0 alpha:1],真正显示到界面上的颜色是有90%透明的

3.设置导航栏的背景颜色不会影响半透明 translucent 这个属性

4.隐藏导航栏

只要隐藏了导航栏后,不管 translucent 这个属性的值是ture或者false都会是下图效果

结果说明

如果设置了导航栏的 translucent = YES 这时在添加子视图的坐标原点相对屏幕坐标是(0,0).如果设置了 translucent = NO 这时添加子视图的坐标原点相对屏幕坐标就是(0, 64).

这里的xib是一个控制器所对应的view,使用导航控制器push到这个控制器的时候,得到以下两种情况.

1.导航栏半透明

2.导航栏不透明


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11415717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存