UITableView 中的 UISearchBar

2024-03-12

我试图模仿类似于 iPod 应用程序的艺术家表视图的行为 - 它是一个分段表视图,右侧有一个部分索引,顶部有一个搜索栏,但在显示视图时最初是隐藏的。

我使用的是sdk 3.1.2和IB,所以简单地拖了一个UISearchDisplayController到我的笔尖 - 它将所有内容连接起来以供搜索。问题开始是因为我添加了UISearchBar到第一部分UITableView,因为如果我理解正确的话,我必须这样做,这样我就可以通过直接触摸部分索引中的搜索图标跳转到搜索栏?当表格视图出现时,我看到搜索栏,但它已经调整大小,现在顶部的部分索引后面有一个白色块。它不需要的颜色UISearchBar有趣的是,它的环绕与 Interface Builder 中显示的不同。

我发现了一个添加小导航栏和UISearchBar in a UIView,然后将其添加到表视图单元格中。这是可行的,但导航栏背景的颜色是您通常期望的颜色(灰色),而不是如上所述的不同颜色。更有趣的是,如果我点击搜索栏开始搜索,然后点击取消,一切都固定了。搜索栏时整个表格视图单元格的背景是相同的吗?


回答了我自己的问题,但可能对其他初学者有帮助:

  • 视图加载时将搜索栏放在表视图标题中,将 contentOffset 向下滚动此搜索栏的高度(通常为 44 像素),但易于动态检查
  • 在部分索引中添加带有“{search}”的搜索图标
  • 将搜索的sectionIndexSection设置为-1
  • 处理部分索引触摸时,使用“特殊”索引值进行搜索“-1”(将 contentOffset 滚动回 (0, 0)

Update:使用字符串常量UITableViewIndexSearch http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006943-CH3-SW49字符串代替未记录的字符串“{search}” - 即在实现时将其作为数组项之一返回:

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView

in UITableView数据源 http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDataSource_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDataSource/sectionIndexTitlesForTableView:.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UITableView 中的 UISearchBar 的相关文章

随机推荐

  • 使用 jenkins 执行 wsl.exe 返回 exit -1073740791

    我在一台具有 WSL 适用于 Linux 的 Windows 子系统 的 Windows 10 计算机上设置了 jenkins 例如 当我从终端运行简单命令 C Windows System32 wsl exe help 时 它工作正常 使
  • 删除 Shapely 多边形外部的 numpy 网格点

    我有一个 10 x 10 网格 我想删除形状多边形之外的点 import numpy as np from shapely geometry import Polygon Point from descartes import Polygo
  • 如何为 powershell 函数的描述属性添加值?

    我想填充我在 PROFILE 中创建的 Powershell 函数的 Description 属性 我想向 描述 属性添加一个值 例如 在个人配置文件中创建 这可能吗 目前 如果我检查我的功能描述 我发现没有填充任何内容 例如 Get Co
  • 应该匹配 RSpec 期望语法

    正确的使用格式是什么应该匹配器 https github com thoughtbot shoulda matchers和 RSpec 的新期望语法 http myronmars to n dev blog 2012 06 rspecs n
  • 使用 Firebase android 时如何向用户添加用户名?

    我目前开始在我的 Android 应用程序中使用 Firebase 并使用其 GitHub 上的示例来创建登录和注册活动 https github com firebase quickstart android https github c
  • 在 onDragStop 事件中获取 Material UI Slider 值

    我想触发一个事件onDragStop而不是onChange使用材质 UISlider在我的 React 应用程序中 以便事件触发次数更少 但是 那文档 https mui com material ui react slider表明onDr
  • 尝试使用 ItemsControl.AlternationIndex 显示列表中的行索引

    我有以下 XAML 旨在将行号放在左列中 但所有输出都是0
  • 根据父 ID 值将数组从一维转换为多维

    我有一个代表多维数据的一维对象数组 array array id gt 45 parent id gt null array id gt 200 parent id gt 45 array id gt 345 parent id gt 45
  • 密码强度检查库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 任何人都可以推荐一个 Java 库 其中包含适合在 Web 应用程序中执行服务器端密码强度检查的方法 理想情况下 检查器应该是 可配置 允
  • 如何在Python中子类化str

    我正在尝试对 str 对象进行子类化 并向其添加几个方法 我的主要目的是学习如何去做 我陷入困境的是 我是否应该在元类中对 string 进行子类化 并使用该元创建我的类 或者直接对 str 进行子类化 而且 我想我需要实施 new 不知何
  • 使用 NHibernate 和动态匿名对象在 GroupBy 查询中进行选择

    我的主要目标是创建一个动态组并在 NHibernate 中使用它 考虑这个非动态的例子works repository Collection
  • 使 React 组件作为 Widget 可用

    我有一个复杂的 React 应用程序 包括渲染某些组件的身份验证等 并且有一个特定的组件 一个日期选择器 我希望其他用户将其作为 Google 地图的小部件嵌入到他们的网站上 我已经成功地将其作为 iFrame 进行共享 但我想了解如何将其
  • 使用贪婪正则表达式忽略可选后缀

    我正在 NET 中对如下所示的字符串执行正则表达式匹配 1 Lists General Discussion Waffles Win 2 Lists General Discussion Waffles Win 2 000 3 Lists
  • 使用 php 脚本中的 rsync 同步本地和远程文件夹,无需输入密码

    如何在 php 脚本中使用 rsync 同步本地和远程文件夹而不提示输入密码 我已经设置了一个公钥来自动为我的用户登录远程服务器 所以从 cli 上运行没有任何问题 rsync r a v e ssh l user delete local
  • 获取解析后的PHP文件

    我试图在解析 PHP 文件后获取其内容 然后将其存储在变量中 除了这个例子之外 我无法通过谷歌获得任何有用的信息 ob start include file content ob get clean 但这会以纯文本形式返回内容 即 标签仍然
  • 点击“后退”按钮时将数据保存在编辑文本中

    因此 在活动 1 中 我单击一个按钮进入活动 2 在活动 2 中 我将一些数据输入到 EditText 中 当我点击手机上的后退按钮时 它会将我带到活动 1 这是正确的 但如果我再次点击活动 1 按钮 我在 EditText 中输入的任何文
  • Android Handler.post,到底发生了什么

    几天以来 我试图弄清楚如果我执行代码到底会发生什么 void function somePreExecutionCode new Handler post new Runnable Override public void run some
  • 如何使用 Numpy 对字符串数组进行一次性编码?

    我知道那里有次优的解决方案 但我正在尝试优化我的代码 到目前为止 我发现的最短方法是 import numpy as np from sklearn preprocessing import OrdinalEncoder target np
  • 使用 re.match 或 re.search 返回多个匹配项

    我正在将一些代码转换为微型蟒蛇 http micropython org我陷入了一个特定的正则表达式 在Python中我的代码是 import re line 0 1 24 2 1 180108205500W 00001 290 m3 be
  • UITableView 中的 UISearchBar

    我试图模仿类似于 iPod 应用程序的艺术家表视图的行为 它是一个分段表视图 右侧有一个部分索引 顶部有一个搜索栏 但在显示视图时最初是隐藏的 我使用的是sdk 3 1 2和IB 所以简单地拖了一个UISearchDisplayContro