gpt4 book ai didi

iphone - UIBarButtonItem 大小不同

转载 作者:可可西里 更新时间:2023-11-01 03:19:51 24 4
gpt4 key购买 nike

我有一个应用程序,它使用 Storyboard来显示两个屏幕。第一个是列表(在屏幕截图中称为“Lista”),第二个是 map (“Térkép”)。每个 View 都有一个左右导航按钮。按右键将 map View 推送到导航 Controller 。后退按钮在 map 的 viewDidLoad 方法中手动隐藏。

List view Map view

问题是,为什么条形按钮项目在每个屏幕上的大小不同?如何控制按钮的大小?

按钮上的图像大小相同。皮肤是在 AppDelegate 中通过外观设置完成的:

// navbar background
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg-titlebar.png"]
forBarMetrics:UIBarMetricsDefault];

// navbar button background
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];

// back button background
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];

最佳答案

您可以通过在一个 segue 中创建它然后在另一个 segue 中复制粘贴按钮来获得两个相同的 UIBarButtonsItem (至少这在我的情况下有效,但我无法确定问题的根本原因所以远)。

如果直接创建一个 UIBarButtonItem 不起作用,请在 NavigationItem 中放置一个 UIButton,它会自动创建一个内部带有 UIButton 的 UIBarButtonItem(见下图)。通过这种方式,您可以配置 UIBarButtonItem 中不存在的图像或其他属性。一旦您对 UIButton(嵌入在条形按钮中)的外观感到满意,请将其复制粘贴到不同的 segue,它们应该保持相同的大小。

UIBarButtonItem vs UIButton inside UIBarButtonItem

关于iphone - UIBarButtonItem 大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16890710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com