UIBarButtonItem改变系统rightbutton和leftbutton的位置

由于系统的UIBarButtonItem *rightButton和UIBarButtonItem *rightButton的位置已经固定,但有时我们又想改变他的位置,可以这么做
   // 设置右边的按钮

UIButton *rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 30)];

[rightBtn setImage:[UIImage imageNamed:@"white_Cart"] forState:UIControlStateNormal];

[rightBtn addTarget:self action:@selector(clickRightBtn) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithCustomView:rightBtn];

UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];

negativeSpacer.width = -15.0;  // 这样rightButton就会向右移动15,也就是更接近边框了

self.navigationItem.rightBarButtonItems = @[negativeSpacer, rightButton];

时间: 2024-10-11 12:27:00

UIBarButtonItem改变系统rightbutton和leftbutton的位置的相关文章

Dialog(八)——改变系统自带Dialog字体大小(ContextThemeWrapper)

MainActivity如下: package c.c.testdialog; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.v

ProgressDialog(四)——改变系统自带ProgressDialog的文字大小

MainActivity如下: package com.example.ttt; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.view.Window; /** * Demo描述: * 改变系统自带ProgressDialog的文字大小 * * 改变方式: * 为ProgressDialog设置一个style即可 * 参见styles

居然还有WM_TIMECHANGE(只在用户手动改变系统时间时才会产生作用)

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; const TIMER_ID = 200; type TForm1 = class(TForm) Label1: TLabel; btkilltime: TButton; btsettime: TButton; procedure Button1Click(S

MFC中改变控件的大小和位置(zz)

用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置. void MoveWindow(int x,int y,int nWidth,int nHeight); void MoveWindow(LPCRECT lpRect); 第一种用法需给出控件新的坐标和宽度.高度: 第二种用法给出存放位置的CRect对象: 例: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 );    //获取控件指针,IDC_EDIT1为控件

Mac改变系统截图的位置

时间:2018年9月13日 人物:同事和我 事情:看苹果秋季新品发布会,并且想要截图下来当时的新品介绍. 问题:系统的截图默认是存储在桌面,整理的时候,不是很方便. Mac截图快捷键: 截取选中区域:command + shift + 4 截取全屏:command + shift + 3 改变截图的存储的位置: 使用命令: defaults write com.apple.screencapture location /Users/wangyongwang/Desktop/Resources/S

Linux系统入门学习:改变libvirt VM镜像的默认位置

提问: 我使用libvirt和virt-manager在我的Linux系统上创建虚拟机.我注意到虚拟机镜像位于/var/lib/libvirt/images目录.有没有办法改变虚拟机镜像的默认路径? libvirt和它的GUI前端 virt-manager 可以使用不同的虚拟机管理程序创建和管理VM,例如LVM和Xen.默认上所有的虚拟机镜像通过 libvirt 创建到/var/lib/libvirt/images目录.然而,这有时并不是我们希望的.比如 /var/lib/libvirt/ima

ubuntu系统apache日志文件的位置

Debian,Ubuntu或Linux Mint上的Apache错误日志位置 默认的错误日志 在基于Debian的Linux上,系统范围的Apache错误日志默认位置是/var/log/apache2/error.log.默认位置可以通过编辑Apache的配置文件进行修改. 自定义的错误日志 要找到自定义的错误日志位置,请用文本编辑器打开 /etc/apache2/apache2.conf,然后查找以 ErrorLog 开头的行,该行指定了自定义的 Apache 错误日志文件的位置.例如,在未经

安装win7和centos6.7双系统 引导加载安装位置问题

我在安装win7和centos6.7双系统时,根据网上的教程选择的是把引导加载安装到了centos系统的根分区中了,没有分boot分区,这样时无法启动centos的,所以在win7中安装easybcd 添加启动菜单通过grub命令行引导进入centos,这样的效果是在win7中进入了centos系统. 紧接着,我通过在centos系统中通过执行grub-install /dev/sda 把引导加载安装到了MBR中了,这样就会首先加载的是grub,MBR中不再是win写入的数据了.通过在cento

ubuntu8.04改变系统编码

1.运行locale命令查看现有的系统编码 LANG=en_US.UTF-8LC_CTYPE="en_US.UTF-8"LC_NUMERIC="en_US.UTF-8"LC_TIME="en_US.UTF-8"LC_COLLATE="en_US.UTF-8"LC_MONETARY="en_US.UTF-8"LC_MESSAGES="en_US.UTF-8"LC_PAPER="e