温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS改变UIBarButtonItem大小的案例分析

发布时间:2021-02-05 13:48:45 来源:亿速云 阅读:205 作者:小新 栏目:移动开发

这篇文章将为大家详细讲解有关iOS改变UIBarButtonItem大小的案例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

前言

基本上每个iOS APP里面都有导航,比如微信、QQ、支付宝。导航可以很方便地帮助我们管理视图控制器(UIViewController)。导航的重要性不言而喻,基本上是每一位iOS初学者都要接触到的问题。

iOS系统导航栏中有leftBarButtonItem和rightBarButtonItem,我们可以根据自己的需求来自定义这两个UIBarButtonItem。

本文主要介绍的是关于iOS改变UIBarButtonItem大小的相关内容,下面话不多说了,来一起看看详细的介绍吧

实现方法如下:

我们在写代码自定义UIBarButtonItem的时候,一般是像下面这样来定义的:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"qr-code"] style:UIBarButtonItemStylePlain target:self action:nil];

这样创建就产生了一个问题,就是创建的这个UIBarButtonItem它的高度是充满UINavigationBar的,有一次PM就觉得这样上下充满UINavigationBar不是很好看,要我把这个UIBarButtonItem的尺寸调小一点(当然PM不知道这是UIBarButtonItem,它只知道这是个控件哈哈)。

下面讲的就是如何调整UIBarButtonItem的size。

步骤:

1.创建一个自定义的控件,比如UIButton,后面我们需要用这个Button来创建UIBarButtonItem。

2.约束这个Button的size。

3.利用这个button来创建UIBarButtonItem。

创建一个自定义的控件,这里以UIButon为例

这一步和创建普通的控件没有区别:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *image = [UIImage imageNamed:@"小qr-code"];
[button setImage:image forState:UIControlStateNormal];
[button addTarget:self action:@selector(weChatScanlogin) forControlEvents:UIControlEventTouchUpInside];

约束这个控件的size

测试的时候发现给这个Button设置frame是没有用的,仍然会充满UINavigationBar,我们需要通过下列方式来约束控件的width和height:

[button.widthAnchor constraintEqualToConstant:35].active = YES;
[button.heightAnchor constraintEqualToConstant:35].active = YES;

利用这个控件来创建UIBarButtonItem

UIBarButtonItem有一个实例方法:

- (instancetype)initWithCustomView:(UIView *)customView

这个方法可以用来通过自定义的控件创建UIBarButtonItem。

IBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

关于“iOS改变UIBarButtonItem大小的案例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI