在故事板中创建自定义 UITableview 部分标题的最佳方法

2024-07-01

目前,我正在故事板中创建一个原型单元,并使用该单元作为节标题。 在 tableView:viewForHeaderInSection: 方法中,我使单元格出队并返回它。

我的节标题单元格中有一个 UITextField 和一个 UIButton。 当我点击文本字段时,键盘会出现,但一旦焦点从文本字段移开,整个节标题就会消失。 当我直接将单元格作为节标题视图返回时,会发生这种情况,但如果我将新分配的 UIView 作为节标题视图返回,并将单元格添加为子视图,那么除了自动调整大小蒙版之外,一切正常。

为什么标题消失了?

我不确定在这里做什么最好。

-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    static NSString *CellIdentifier = @"SectionHeader"; 

SettingsTableViewCell *sectionHeaderCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    //return sectionHeaderCell; // returning cell directly, section header disappears when focus is moved away from text field.
UIView * headerView = [[UIView alloc] initWithFrame:sectionHeaderCell.frame];
[headerView addSubView:sectionHeaderCell];
return sectionHeaderCell;//header view never disappears, but auto resizing masks do not work. Need to know how to set autoresizing masks to headerView so that it resizes correctly.

}  

原型单元格表视图仅允许您设计cells在故事板编辑器中,而不是节页眉和页脚。您尝试使用UITableViewCell因为节头是一个聪明的技巧,但它只是不受所涉及的类的支持 -UITableViewCell不适合用于表视图单元格以外的任何用途。它可能比视图消失或布局不正确更糟糕; UIKit 完全有权利让断言失败、删除所有应用程序的数据、吊销你的开发者证书或放火烧你的房子。

如果您希望代码正常运行,您的选择是在代码中创建节标题或将它们放在单独的 XIB 文件中。我知道这不是您想要做的,但这些是您可以选择的。

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

在故事板中创建自定义 UITableview 部分标题的最佳方法 的相关文章

  • 使用 xctool / xcodebuild 与 XCode Archive 的成功相比出现错误 ITMS-90046

    我有一个命令行脚本 用于编译 存档并将我的 ios 版本提交给 ITC 以进行 TestFlight 部署 它们工作得很好 但我最近在尝试在我的其他工作项目中使用嵌入式框架时遇到了一个问题 我的脚本成功编译并存档了项目 但由于嵌入的二进制冲
  • 是否可以更改 UISearchBar 占位符的对齐方式?

    由于输入语言不同 我需要以不同的对齐方式显示 UISearchBar I saw 这个答案 https stackoverflow com questions 9251592 how to change the alignment of a
  • iOS-Charts 如何将 UIImage 放在点旁边

    我想使用 iOS Charts 和 Swift 来绘制一些折线图来显示数据 现在 我有一个要求 在每个点旁边放置一个小图标 现在我可以在图表上添加 UIImage 但问题是如何正确获取每个点的 CGPoint 坐标 如果我改变设备或设备类型
  • Reactive Cocoa - 以编程方式设置文本时,不会调用 UITextView 的 rac_textSignal

    我正在实现一个聊天 UI 并使用 Reactive Cocoa 在用户键入时调整聊天气泡的大小 目前 我正在根据 textview 更新 UI 的布局rac textSignal 一切都工作得很好 除了一点 当用户sends消息中 我以编程
  • NSWindow 中的 NSScrollView

    我在 NSWindow 中有一个 NSScrollView 但它似乎被禁用了 它looks就像它会工作一样 但是滚动条是反应迟钝到鼠标或滚轮 当我将完全相同的 NSScrollView 放入新 XCode 项目的窗口中时 它工作得非常完美
  • 为什么 HTML5 Media Source 视频无法在 IOS 上运行?

    看来两者 HLS and MPEG DASH 使用相同的Media Source ExtensionAPI 那么为什么HLSvideo仅适用于 IOS 为什么不MPEG DASH在 IOS 上工作吗 造成这个 的核心区别是什么 http n
  • Swift 错误:“找不到‘SKScene’的接口声明,其超类”

    免责声明 我通读了类似的问题 找不到解决我的问题的方法 我想将 SKScene 的子类添加到以前未使用 SpriteKit 的项目中 该项目是 ObjC 和 Swift 的混合体 子类是用 Swift 编写的 我做了什么 通过转到项目 gt
  • iOS 7 UITableView didSelectRowAtIndexPath 以编程方式推送ViewController,动画问题

    编辑 我找到了我自己问题的答案 请看我帖子的底部 我在尝试推动时遇到动画问题UIViewController in didSelectRowAtIndexPath on a UITableView以编程方式 当我在 iOS 6 中运行此代码
  • 如果用户应答传入的 iMessage,WKWebView 会崩溃

    我的应用程序发生严重崩溃 CALayer position contains NaN 377 833 nan 具有以下堆栈 Fatal Exception CALayerInvalidGeometry 0 CoreFoundation 0x
  • DispatchQueue.main.sync 返回 exc_bad_instruction Swift 3

    我想在我的应用程序中显示 UIActivityIndi catorView 但是当我调用sync方法从主线程 应用程序崩溃并出现错误 exc bad instruction code exc i386 invop subcode 0x0 我
  • 解析 Apple Mach O-Linker 错误?

    我正在使用解析框架 突然出现 39 个错误 即使我删除框架 它仍然有错误 我已经检查了构建阶段 设置和路径 但没有任何效果 另外 我正在使用 xcode 4 6 3 我有一台过时的 macbook Ld Users anikakablan
  • 比较 UITextView 中的文本?

    我们如何比较输入的文本UITextVIew用代码中的默认文本来确定它们是否相同 您可以使用以下方法NSString http developer apple com library mac documentation Cocoa Refer
  • UIProgressView 没有更新?

    我已经开始在 iOS5 中使用 UIProgressView 但还没有真正使用它 我在更新视图时遇到问题 每次更新进度后 我都有一组连续的操作 问题是 进度视图不是一点一点更新的 而是在全部完成之后才更新 事情是这样的 float cnt
  • 快速判断文件是否为有效视频

    确定文件是否是可播放视频的最快方法是什么 我不关心它是否腐败 只关心它是否是哑剧类型should可以在 iPad 上播放 我玩过将文件推送到NSURL正如另一个问题所建议的 但每个文件可能需要 gt 1 秒 这太慢了 我目前正在查看文件扩展
  • 通话期间未调用远程通知回调

    我创建了一个应用程序 其中后台获取代码是在接收推送通知时编写的 我已在 plist 中启用后台模式 推送通知负载中的内容可用键设置为 1 注册推送通知并使用委托 void application UIApplication applicat
  • iOS 检测 UIView 的点击和触摸

    我遇到了确定如何检测 UIView 被按下和 UIView 被点击的问题 当它被触碰时 我希望 UIView 改变它的背景颜色 当它被触摸时 我希望 UIView 执行某些任务 我想知道如何解决这个问题 void viewDidLoad U
  • 为模拟器构建时“重新定义模块...”

    我有一个 iOS xcode 项目 当我有Generic iOS Device选择作为我的目的地 但是 当我选择任何模拟器选项时 构建都会失败 并显示许多Redefinition of module abcde 每个模块中定义的一个错误iO
  • 如何暂停 NSTimer? [复制]

    这个问题在这里已经有答案了 我有一个使用计时器的游戏 我想让用户可以选择一个按钮并暂停该计时器 当他们再次单击该按钮时 它将取消暂停该计时器 我已经有了计时器的代码 只需要一些暂停计时器和双操作按钮的帮助 定时器代码 void timerD
  • 如何在 xcode 6 中查看汇编代码

    如何在 xcode 6 中使用 iOS 设备运行应用程序时查看编译器生成的汇编代码 我应该在 xcode 中启用哪些设置才能查看汇编代码 在 Xcode 选项中 选择选项 调试 gt 调试工作流程 gt 始终显示反汇编 在要查看汇编代码的代
  • 下拉即可显示视图

    I have UITableView 我想添加一个UITextField位于tableView之上 可以通过向下拉tableView来访问它 我想通过拉起 tableView 来隐藏我的 textField 我怎样才能做到这一点 这是我尝试

随机推荐