macos - 如何在用户点击时创建文本字段

标签 macos cocoa

我希望我的应用程序在用户点击的地方创建一个文本框。那么我如何按需合成文本框。有点像 OneNote。

最佳答案

So how do i synthesize a text box on demand.

您创建一个 TextView 或文本字段,然后将其添加到 View 中您想要的任何位置。假设您在 event 中有点击事件,并且您知道要创建的 TextView 的宽度高度,请执行以下操作:

NSPoint *p = [myContainerView convertPoint:[event locationInWindow] fromView:nil];
NSRect frame = NSMakeRect(p.x, p.y, width, height);
NSTextView *tv = [[NSTextView alloc] initWithFrame:frame];
[myContainerView addSubview:tv];

关于macos - 如何在用户点击时创建文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17234559/

相关文章:

c++ - 无法将 IOKit 驱动程序链接到 IOHIDFamily : "dependency load failed"

macos - 从另一个 Cocoa 进程在 Lion/ML 上打开 OS X 应用程序,无需恢复 Windows

objective-c - 如何在 objective-c 中获取 macos 登录用户名

ruby - 如何将 TextMate 中的一行发送到在终端窗口中运行的 irb 进程?

ios - 不断打开 OS X 和 iOS 之间的 BLE 连接

macos - 在 OS X 上安装 libval​​a >= 0.12

ios - Sprite Kit 的 "Category Mask"和 "Collision Mask"是什么?

objective-c - 将初始工具栏项设置为选定

cocoa - 无法隐藏 NSView 中的控件

objective-c - 我如何告诉 iOS 从 iCloud Drive 下载文件并获得进度反馈