问题标签 [uitoolbarposition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
115 浏览

ios - UIToolbarPosition 在调整大小时设置为底部

UIToolBar的一个视图顶部有一个,并且阴影显示在工具栏的底部,正如我所期望的那样。我知道UIToolbarPosition内部设置为UIToolbarPositionTop.

当我旋转我的设备(iPad)时,工具栏会变大(在 IB 中使用自动调整大小),并且将阴影翻转到工具栏顶部的UIToolbarPosition更改。UIToolbarPositionBottom如果我没有调整栏的大小,它仍然是正确的,但当然不会拉伸以匹配屏幕宽度。

那么,什么给了?什么会导致UIToolbarPosition我翻转?这始终位于 0,0,并且仅根据旋转改变宽度。

额外:我考虑过使用UINavigationBar. UIAppearance可能是不行的,因为我在底部也有一个工具栏,我确实希望我的“顶部”不同于我的“底部”

0 投票
1 回答
128 浏览

uikit - UIToolbar 是如何处理 UIToolbarPosition 的?

我正在使用 UIToolbar 的 setBackgroundImage:forToolbarPosition:metrics: 方法。那是我的代码:

如您所见,我已将工具栏放在顶部。但是,当我运行代码时,使用的工具栏图像是 [UIImage imageNamed:@"bottom"]。

UIToolbarPosition 是如何获取的?我的第一个想法是框架检查(< 1/2 superview 框架是顶部,否则是底部......或某种)。

它仍然在底部。任何想法?

0 投票
1 回答
2158 浏览

objective-c - 快速设置 UIToolBar 背景图片

我正在使用swift制作一个IOS应用程序。我的应用程序中有一个UIToolBar,我需要更改它的背景。我在 Objective-C 中使用以下代码来做到这一点:

现在,当我用 swift 重写代码时,它看起来像这样:

这显示了Use of unresolved type UIBarMetricsDefault和的错误Use of unresolved type UIToolbarPositionAny。所以我进行了搜索并找到了这个文档。根据文档,我更改了这样的代码:

但它仍然显示相同的错误。有人知道这里有什么问题吗?

0 投票
1 回答
889 浏览

ios - 将 UIToolbar 放在 UITableViewController 上方的屏幕底部

我不想使用UINavigationController. 我想用一个单独的UIToolbar来代替。

要求:

  • 始终在屏幕上可见
  • 应该保持在底部的位置UIView(如工具栏UINavigationController
  • 应该适应它的宽度(例如旋转后)
  • 没有 IB/Storyboard 解决方案
  • 另外:不要隐藏UITableView

我想为此使用自动布局。尽管我的代码是用 C# 编写的,但您始终可以为 Objective-C 提供解决方案。

这适用于viewDidLoada UIViewController,但不适用于viewDidLoada UITableViewController

出于测试原因,我使用 aUIView而不是UIToolbar. 结果非常相似。上显示UIViewController红色视图。在一个UITableViewController它根本没有出现。

我在不使用自动布局的情况下进行了另一项测试:

此处UIView显示了,但它位于表格视图中的固定位置,并且分隔线穿过。不是我想要的,但似乎可以将一个UIToolbar放在UITableView...

0 投票
1 回答
237 浏览

ios - UIToolbar setFrame 不工作

我想通过将工具栏滑出可见区域来切换屏幕顶部工具栏的可见性。为此,我将工具栏的 y 坐标和高度存储在 viewDidLoad 上,并在我希望它淡入/淡出时相应地更新它。

相关代码片段如下所示(您还可以在https://github.com/Duffycola/test/tree/master/TestHideToolbar找到示例项目):

淡出效果很好,除非我在视图上做任何其他事情。例如,当我更新标签时,工具栏会恢复到其初始状态。我想某种内部刷新被触发并且工具栏在某处有一个过时的模型。

在此处输入图像描述

0 投票
3 回答
2497 浏览

ios - 以编程方式定位 UIToolbar 的最佳方式(有或没有 UIToolbarDelegate)?

导航栏下方带有 UISegmentedControl 的屏幕截图

我在 Playgound 中实现了导航栏下方的分段控件。

这似乎是一个经典问题,曾经有人问过:

在 的文档中UIBarPositioningDelegate,它说,

UINavigationBarDelegate、UISearchBarDelegate 和 UIToolbarDelegate 协议扩展了此协议以允许在屏幕上定位这些栏。

UIBarPosition的文档中:

案例顶部

指定栏位于其包含视图的顶部。

UIToolbar.delegate的文档中:

当工具栏由导航控制器管理时,您可能不会设置委托。默认值为无。

我目前的解决方案如下(保留注释掉的代码以供参考和方便):

如您所见,这不使用UIToolbarDelegate.

UIToolbarDelegate在这种情况下, (提供)如何position(for:)发挥作用?由于我们总是可以定位自己(手动或使用自动布局),所以 a 的用例是UIToolbarDelegate什么?

@Leo Natan 在上面第一个问题链接中的回答提到了UIToolbarDelegate,但似乎工具栏放置在 Interface Builder 中。

此外,如果我们不使用UIToolbarDelegatehere,为什么不使用 plainUIView而不是 aUIToolbar呢?