首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在目标C中设置工具栏的高度?

在目标C中设置工具栏的高度,可以通过以下几个步骤:

  1. 创建一个自定义工具栏类:

首先,需要创建一个自定义工具栏类,继承自UIToolbar,并重写layoutSubviews方法。在这个方法中,可以设置工具栏的高度。

代码语言:objective-c
复制
@interface CustomToolbar : UIToolbar

@end

@implementation CustomToolbar

- (void)layoutSubviews {
    [super layoutSubviews];
    CGRect frame = self.bounds;
    frame.size.height = 64; // 设置工具栏的高度
    self.bounds = frame;
}

@end
  1. 使用自定义工具栏:

在需要使用自定义工具栏的地方,使用CustomToolbar类替换UIToolbar

代码语言:objective-c
复制
CustomToolbar *toolbar = [[CustomToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 64)];
[toolbar setBarStyle:UIBarStyleDefault];

UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneButtonTapped)];

[toolbar setItems:@[flexibleSpace, doneButton] animated:NO];

[self.view addSubview:toolbar];
  1. 设置约束:

如果使用Auto Layout,需要为自定义工具栏设置约束。

代码语言:objective-c
复制
CustomToolbar *toolbar = [[CustomToolbar alloc] init];
[toolbar setBarStyle:UIBarStyleDefault];

UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneButtonTapped)];

[toolbar setItems:@[flexibleSpace, doneButton] animated:NO];

[self.view addSubview:toolbar];

// 设置约束
[toolbar.translatesAutoresizingMaskIntoConstraints = NO];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[toolbar]|" options:0 metrics:nil views:@{@"toolbar": toolbar}]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[toolbar(==64)]" options:0 metrics:nil views:@{@"toolbar": toolbar}]];

通过以上步骤,可以在目标C中设置工具栏的高度。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在onCreate获取View高度和宽度

何在onCreate获取View高度和宽度 在开发过程中经常需要获取到View宽和高,可以通过View.getWidth()和View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...而这一切是发生在onCreate方法之后。所以在onCreate中直接使用View.getWidth()和View.getHeight()是无法得到正确。...那应该怎么onCreate获取View宽高呢?...开发者可以通过View.post()方法来获取到View宽高,该方法传递一个Runnable参数,然后将其添加到消息队列,最后在UI线程执行。

5.3K20

ExtJS4设置tabpaneltab高度问题

最近碰到个问题,在ExtJS应该如何设置tabpaneltab高度?因为默认情况下,tab高度太矮了,以至于tab标题底部字都被截掉。...设置了个tabpanel.minHeight = ‘500’,但是这个仅仅是设置tabpanel高度,而不是设置tabpanel每个tab标题高度。...如果只是为了每个tab高度的话,自然tab高度依赖于tabpaenl高度,tabpanel又依赖于外层组件高度,如果仅仅把tabpanelrenderTo body的话,那tabpanel在渲染时候就自动高度了...,所以想要它主动扩大高度,必须把tabpanel设置一个高度或者设置一个最小高度。...如果在其他容器里的话,比如panel什么里,只需要把panellayout设置成fit即可先写CSS样式 。

1.8K80

何在keras添加自己优化器(adam等)

本文主要讨论windows下基于tensorflowkeras 1、找到tensorflow根目录 如果安装时使用anaconda且使用默认安装路径,则在 C:\ProgramData\Anaconda3...一般来说,完成tensorflow以及keras配置后即可在tensorflow目录下python目录中找到keras目录,以GPU为例keras在tensorflow下根目录为C:\ProgramData...找到optimizers.pyadam等优化器类并在后面添加自己优化器类 以本文来说,我在第718行添加如下代码 @tf_export('keras.optimizers.adamsss') class...# 传入优化器名称: 默认参数将被采用 model.compile(loss=’mean_squared_error’, optimizer=’sgd’) 以上这篇如何在keras添加自己优化器...(adam等)就是小编分享给大家全部内容了,希望能给大家一个参考。

44.8K30

c语言目标程序

分类 根据C语言特点,每一个源程序生成目标代码将包含源程序所需要表达所有信息和功能。...对于一些较为复杂数学运算除法(\),取余(%)等,虽然它们是C语言基本运算,但在各种编译系统处理方式却不一定相同。...因此它只会在目标文件中被标识,而不会真正称为目标文件一个段,该段将会在运行时产生。未初始化数据段只有在运行初始化阶段才会产生,因此它大小不会影响目标文件大小。...只读数据段需要包括程序定义const型数据(:const char ro[]),还包括程序需要使用数据"123456"。...未初始化数据段不设置后面的初始化数值,因此必须使用数值指定区域大小,编译器将根据大小设置BBS需要增加长度。

1.3K30

良心教程 | 如何在Typora设置免费图床

设置好之后,写一篇教程,记录一下。 ❞ 「秀技能」 ❝今天同事发给我一个md文件,一往昔,图片没有显示出来,我说又到了我安利给你图床时候了,「免费」,「快速」,「粘贴后自动上传」,这三点不香吗。...这样,在Typora书写,在markdown nice渲染,然后复制到知乎和公众号上,非常流畅,多年梦想终于实现了。闭环感觉,别提多爽了,哈哈 ❞ 1....无论是免费图库,还是将项目放上面,还是将电子书放上面,还是将博客放上面,都非常方便。后面我介绍如何在上面使用bookdown写书。 ❞ 2....新建gitee项目 ❝飞哥注:这里主要是设置秘钥,然后copy到PicGo,就可以自动关联了。 ❞ 点击个人头像,点击设置: ?...全选,然后点击 Ctrl + shift + c 进行复制为markdown形式,用 Ctrl + v 粘贴就可以了。

5.5K10

何在 React Select 标签上设置占位符?

本文将详细介绍如何在 React 标签上设置占位符,并提供示例代码帮助你理解和应用这个功能。...使用 disabled 属性一种常用方法是使用 disabled 属性来模拟占位符。通过将一个默认选项设置为禁用状态,我们可以在选择框显示一个占位符,并阻止用户选择该选项。...注意事项需要注意以下几点:通过设置一个禁用占位符选项,我们可以在选择框显示占位符文本,并阻止用户选择该选项。在处理选择框值时,需要使用事件处理函数来更新状态。...自定义组件如果你需要更高度自定义和控制,你可以创建自己选择框组件,并在其中实现占位符功能。...结论本文详细介绍了在 React 如何设置 标签占位符。

3K30

Google Analytics 4 设置目标转化三种方式

目标在GA4就是转化。 GA4设置转化有三种情况,只有事件能直接设置成转化,但其他,都先设置成事件,再设置成转化。...事件直接设置成转化 有两种方法,一种是在All events报告,一种是在Conversion报告。...Page设置成转化 如果要将页面设置成转化,打开thank-you页面设置为一次转化,那么需要先将页面设置成事件,然后才能设置成转化,可以在事件报告Create events(创建事件)。...设置事件要24小时候才会有数据,所以要通过在Conversion中将事件设置成转化,在Conversion创建一个事件转化,作如下设置: ? 有数据就会记录到。...设置好受众规则后,注意右侧Audience Trigger,这个受众设置成事件地方: ? 给事件定一个名字,就将Audience设置成事件了。然后就可以将其设置成转化。

1.3K10

C# “智能枚举”:如何在枚举增加行为

然后在 Main 方法,我们将 today 变量设置为 Tuesday,并使用 ToString() 方法将其转换为字符串。 接下来,我们计算并输出明天和昨天日子。...enum 可以很好地表示对象状态,因此它是实现状态模式常见选择。在 C# ,您可以使用 switch 语句来根据不同 enum 值执行不同操作。...在 C# ,您可以使用 switch 语句或 if-else 语句来根据不同 enum 值选择不同算法或行为。 工厂模式 工厂模式允许您使用一个共同接口来创建不同对象。...enum 可以很好地表示这些对象类型,因此它是实现工厂模式常见选择。在 C# ,您可以使用 switch 语句或 if-else 语句来根据不同 enum 值创建不同对象。...在 C# ,您可以使用 enum 来表示观察者对象状态,并使用委托或事件来通知观察者对象。 智能枚举 什么是智能枚举?智能枚举不是官方一个称谓,而是作者定义一个名词。

22320

何在Ubuntu 16.04上Jenkins设置持续集成管道

设置Jenkins访问GitHub 返回主Jenkins仪表板,单击左侧菜单Manage Jenkins: [Manage Jenkins] 在下一页链接列表,单击“ 配置系统”: [配置系统]...在GitHub帐户设置演示应用程序 为了演示如何使用Jenkins测试应用程序,我们将使用一个用Hapi.js创建“hello world”程序。...Test步骤打印另一条消息,然后按package.json文件定义运行测试。 我们可以设置Jenkins来监视Jenkinsfile存储库并在引入更改时运行该文件。...在Jenkins创建一个新管道 接下来,我们可以设置Jenkins使用GitHub个人访问令牌来查看我们存储库。...为了触发Jenkins设置适当hook,我们需要在第一次执行手动构建。 在管道主页面,单击左侧菜单“ 立即构建”: [立即构建] 这将开始新构建。

6K30

在 Oracle 23c 宽表设置

在 Oracle 23c ,数据库表或视图中允许最大列数已增加到 4096。此功能允许您构建可以在单个表存储超过之前 1000 列限制属性应用程序。...通过此设置,数据库表或视图中允许最大列数为 4096。 COMPATIBLE 初始化参数必须设置为 23.0.0.0 或更高才能设置 MAX_COLUMNS = EXTENDED。...要禁用宽表,请将 MAX_COLUMNS 参数设置为 STANDARD。通过此设置,数据库表或视图中允许最大列数为 1000。...这与 Oracle Database 23c 之前版本行为相匹配。 可以随时将 MAX_COLUMNS 值从 STANDARD 更改为 EXTENDED。...较旧客户端版本(Oracle Database 23c 之前版本)不支持增加列限制,并且无法访问表或视图中超过 1000 列。 此参数从 Oracle Database 23c 开始可用。

17920

何在Puppeteer设置User-Agent来绕过京东反爬虫机制?

正文Puppeteer 是一个由 Google 开发 Node.js 库,它提供了高级 API,用于控制无头浏览器(Headless Browser), Chrome 或 Chromium。...Puppeteer 实时端点位于它可以模拟用户在浏览器操作,包括点击、填写表单、截图等。这使得我们可以使用Puppeteer来模拟真实用户行为,获取想要数据。...例如,京东可能会检测到我们使用了自动化工具,并阻止我们访问。为了解决这个问题,我们可以使用代理服务器来隐藏我们真实IP地址,并设置合适User-Agent来模拟真实用户访问。...await browser.close();}main();当使用 User-Agent 时,有几个注意事项需要考虑:隐私保护:User-Agent 可能包含有关用户敏感信息,操作系统、浏览器版本等...版本控制:User-Agent 版本信息对于确定浏览器或设备功能和支持特性非常重要。在开发过程,可以根据不同 User-Agent 版本来选择适当代码路径或功能。

82650

6详解AppBar小部件

由于它是一个如此常用组件,因此 Flutter 为该功能提供了一个名为AppBar专用小部件。 在本教程,我们将通过一些实际示例向您展示如何在 Flutter 应用程序自定义 AppBar。...以下是我们将介绍内容: Flutter AppBar 是什么? 应用栏布局 自定义 AppBar Flutter AppBar 是什么?...工具栏高度和不透明度 最后,我们有工具栏属性。工具栏包含文字,图标,按钮,和其他任何公司前景,除了小部件,Container和Image。...要更改 AppBar 工具栏项目的高度和不透明度: AppBar( toolbarHeight: 100, // default is 56 toolbarOpacity: 0.5, ), 结论...布局和添加小部件 如何为 AppBar 图标、文本、背景、高度、阴影颜色和工具栏设置主题 所以我们有了!

16.2K10

何在 Visual Studio 2019 设置使用 .NET Core SDK 预览版(全局生效)

但几个更新版本其开关位置不同,本文将介绍在各个版本位置,方便你找到然后设置。...,.NET Core 在设置是有一个专用选项,在这里: 工具 -> 选项 项目和解决方案 -> .NET Core -> 使用 .NET Core SDK 预览版 如果你是英文版 Visual....NET Core SDK 预览版设置是全局生效。...也就是说,你在 Visual Studio 2019 中进行了此设置,在命令行中使用 MSBuild 或者 dotnet build 命令进行编译也会使用这样设置项。...那么这个全局设置项在哪个地方呢?是如何全局生效呢?可以阅读我其他博客: Visual Studio 2019 中使用 .NET Core 预览版 SDK 全局配置文件在哪里?

80020

DevExpress控件gridcontrol表格控件,如何在属性设置某一列显示为图片(图片按钮)

DevExpress控件gridcontrol表格控件,如何在属性设置某一列显示为图片(图片按钮)?效果如下图: ? 通过属性设置,而不用写代码。...由于此控件属性太多了,就连设置背景图片属性都有好几个地方可以设置。本人最近要移植别人开发项目,找了好久才发现这个属性位置。之前一直达不到这种效果。...属性设置步骤和方法如下: 首先添加gridcontrol控件,如下图,点击Run Designer ?...然后点击Columns添加列,点击所添加列再按照如下步骤设置属性: 在属性中找到ColumnEdit,把ColumnEditTextEditStyle属性设置为HideTextEditor;  展开...ColumnEdit,把ColumnEditButtons展开,将其Kind属性设置为Glyph; 找到其中Buttons,展开,找到其中0-Glyph,展开,找到其中ImageOptions

5.8K50

何在 C# 以编程方式将 CSV 转为 Excel XLSX 文件

在本文中,小编将为大家介绍如何在Java以编程方式将【比特币-美元】市场数据CSV文件转化为XLSX 文件。...创建项目 (1)使用 Visual Studio 2022,创建一个新项目 ( CTRL+SHIFT+N ) 并 在下拉列表 选择 C#、 所有平台和 WebAPI ,以快速找到项目类型ASP.NET...小编在该类创建一个getCsvData方法用于获取具体数据(在代码替换成你API密钥即可): // Get the CSV data from the AlphaVantage web service...然后,它创建一个 名为 BTC_Monthly表 ,其中包含 CSV 数据并自动调整 表列。...然后,代码在整个表格范围内添加一个StockVOHLC 类型工作表 (成交量-开盘-高-低-收盘)新图表,设置图表标题,将系列添加到图表,将类别轴单位更改为“月”,更新类别轴刻度标签方向和数字格式,

11510
领券