cocoa相关内容

使用自动布局删除和重新添加子视图

当使用自动布局时,我的理解是删除一个子视图(当然同时持有对它的引用),被删除的子视图仍然知道它的自动布局约束. 但是,稍后将其添加回超级视图时,子视图不再知道其帧大小.相反,它似乎得到了一个零帧. 我假设自动布局会自动调整大小以满足约束.不是这样吗?我认为自动布局意味着不要弄乱框架矩形.添加子视图时是否还需要设置初始框架矩形,即使使用自动布局? 解决方案 删除子视图时,与该子视 ..
发布时间:2022-01-18 20:27:03 其他开发

使用 Autolayout 扩展 NSTextViews

我的应用由一个 NSScrollView 组成,它的文档视图包含许多垂直堆叠的 NSTextViews — 每个都在添加文本时在垂直方向调整大小. 目前,这一切都在代码中进行管理.NSTextViews 自动调整大小,但我观察到它们使用 NSViewFrameDidChangeNotification 调整大小,重新计算它们的所有原点以使它们不重叠,并调整它们的超级视图(滚动视图的文档视图) ..
发布时间:2022-01-18 20:22:49 其他开发

自动调整 NSTableView 的高度

我曾经问过这个问题,但我对解决方案不太满意. 自动调整NSTableView的大小 我想在 NSPopover 或 NSWindow 中显示 NSTableView. 现在,窗口的大小应该会根据表格视图进行调整. 就像 Xcode 一样: 使用自动布局非常简单,您只需将内部视图固定到超级视图即可. 我的问题是,我无法确定表格视图的最佳高度.下面的代码枚举了所有可用的 ..
发布时间:2022-01-18 20:11:27 移动开发

如何根据使用 Autolayout 布局的子视图的大小调整父视图的大小

我正在准备一个与屏幕截图中显示的示例类似的自定义视图.我在运行时添加所有用户界面组件(标签、文本字段、单选按钮……).要定位我使用的元素 自动布局 约束.到目前为止,这部分工作正常. 元素的数量因上下文而异.我想知道如何使用 Autolayout 约束来动态调整父视图的大小(很可能是视图的高度).因此,视图约束应考虑为当前附加的子视图定义的高度和边距. 解决方案 我已经通过以下设置完 ..
发布时间:2022-01-18 20:10:47 移动开发

UILabel sizeToFit 和约束

有什么简单的方法可以帮助我使用它们的内容大小动态改变依赖视图的位置? 我想在列中显示几个视图,它们都有不同的内容.我希望它们一个接一个地放置(我使用约束创建了布局,看起来像这样) 但每当我更改标签内容并调用 sizeToFit 时,系统似乎会忽略布局. 目前我只对 height 属性感兴趣,我知道也可以使用约束 rect 并且过去我在 UIView 上编写了许多类别来动态更改大小 ..
发布时间:2022-01-18 20:10:30 移动开发

具有自动布局的 NSScrollView 在第一次手动调整窗口大小之前不会调整大小

我有一个以编程方式构建的 OSX Cocoa 应用程序(即,不是使用 NIB/XIB),我正在尝试使用自动布局对其进行布局 - 但是当窗口出现时我会遇到一些奇怪的行为首先显示. 我的主要内容是一个 NSView,它包含 100 个 NSButton 作为子视图的集合,垂直布局.按钮都相对于 NSView 和彼此受到约束;NSView 和所有 NSButton 都设置了 translatesA ..
发布时间:2022-01-18 20:06:47 其他开发

如何让 NSTextField 与自动布局中的文本一起增长?

Lion 中的自动布局应该让文本字段(以及标签)随着它所包含的文本一起增长变得相当简单. 文本字段设置为在 Interface Builder 中换行. 有什么简单可靠的方法来做到这一点? 解决方案 NSView 中的方法 intrinsicContentSize 返回视图本身认为的内在内容大小. NSTextField 计算此值时不考虑其单元格的 wraps 属性,因此 ..
发布时间:2022-01-18 19:53:51 其他开发

Cocoa Autolayout:内容拥抱与内容压缩阻力优先级

我在 Apple 文档中找不到关于 Cocoa Autolayout 内容拥抱和抗压缩性区别的明确答案. 有人能解释一下它们的用法和区别吗? 解决方案 概念总结: 拥抱 => 内容不想增长 抗压性 => 内容不想收缩 例子: 假设你有一个这样的按钮: [点我] 并且您已将边缘固定到优先级为 500 的更大超级视图. 然后,如果 Hugging 优先级 > ..
发布时间:2022-01-18 19:42:22 其他开发

NSLocale currentLocale 总是返回“en_US";不是用户当前的语言

我正在对 iPhone 应用程序进行国际化 - 我需要根据用户当前的语言环境对某些视图进行编程更改.我要疯了,因为无论 iPhone 模拟器或实际硬件上的语言偏好是什么,locale 总是评估为“en_US": NSString *locale = [[NSLocale currentLocale] localeIdentifier];NSLog(@"当前语言环境:%@", locale); ..
发布时间:2022-01-18 13:03:53 移动开发

目标 c 中的代表

首先我应该告诉你,我对 Objective C 或 C# 知之甚少.所以当我的一位同事问我在 Objective C 中是否有类似委托的东西时,我想知道在 Objective-CI 中是否存在这样的概念,猜猜委托我们在iphone编程中使用的不一样.C#委托是函数指针对吗?在处理多个视图时拥有这样的设施会很好.我在哪里可以找到信息?? 解决方案 Objective-C 中的委托只是一个概念 ..
发布时间:2022-01-18 12:31:14 C#/.NET

QuickLook 消费者作为 NSViewController 的代表

我在从 NSView 中的表中实现 QuickLook 功能时遇到了一些问题.QuickLook 上的有限文档确实没有任何帮助. 通读Apple Docs(主要针对自定义生成器和插件),我最终查看了 QuickLookDownloader 示例代码.此代码基于基于文档的应用程序,但对我来说似乎是正确的方法(毕竟它是 Apple 的代码,并且在他们的项目中确实有效). 在我的实现中,我可 ..
发布时间:2022-01-18 12:30:32 移动开发

为什么 Objective-C 委托通常被赋予属性分配而不是保留?

我正在浏览由 Scott Stevenson 维护的精彩博客,我正在尝试理解一个基本的 Objective-C 概念,即为代表分配“分配"属性与“保留".请注意,两者在垃圾收集环境中是相同的.我最关心的是非基于 GC 的环境(例如:iPhone). 直接来自 Scott 的博客: “assign 关键字将生成一个 setter,它直接将值分配给实例变量,而不是复制或保留它.这最适用于 ..
发布时间:2022-01-18 11:50:33 移动开发

如何以编程方式和动态地为 UIButton 的背景图像着色?

我正在开发一个应用程序 - 或者更确切地说是一些可重复使用的“框架",一旦它工作,我很乐意分享.在这个应用程序中,用户应该能够从颜色主题列表中进行选择.因此,应用程序必须能够以某种相当动态的方式为其 UI 元素着色. 对于按钮,所有着色都不起作用.必须在此处提供适当着色的背景图像.但是为每个人准备一组背景图像只是第二好的.它不够动态和灵活. 最终,解决方案可能归结为为选定的正常状态提供 ..
发布时间:2022-01-18 08:05:24 移动开发

如何在 UIButton 中不拉伸图像

我正在尝试以编程方式创建自定义 UITableViewCell,并且该单元格的子视图之一将是一个带有图像的按钮(放大镜的简单图像).但是,我希望按钮的图像居中并按比例缩小以适合按钮,而不是拉伸以填充整个按钮.下面是我的代码,其中 self 指的是我将按钮放入的自定义 UITableViewCell. self.myButton = [UIButton buttonWithType:UIButto ..
发布时间:2022-01-17 23:53:56 移动开发