我正在创建iOS提供的popover的自定义布局.我已经将UIPopoverBackgroundView子类化,并让它为我的popover正确绘制背景.我的问题是现在UIPopoverController在popover上创建了一个内部阴影,影响了popover的contentViewController.我想删除这个内部阴影,所以只显示我的contentViewController的内容.
这是popover当前的外观,使用UILabel来演示对contentViewController的影响.

有没有办法去除这个内部阴影?
我想隐藏状态栏应用程序中的光标,我做了一些研究.似乎这个问题的解决方案刚刚发现:
在Cocoa/Carbon中全局隐藏鼠标光标?或http://lists.apple.com/archives/carbon-dev/2006/Jan/msg00555.html
但是引用的代码将无法编译.你们中的任何人都知道如何编译代码(通过导入一些旧的API或其他东西)或另一种实现这种方式(某种程度的黑客攻击)?
(我知道将光标隐藏在后台应用程序中通常是一个坏主意,但我制作的应用程序中此功能非常重要)
编辑:
这是旧的黑客,不再起作用了.
long sysVers = GetSystemVersion();
// This trick doesn't work on 10.1
if (sysVers >= 0x1020)
{
void CGSSetConnectionProperty(int, int, int, int);
int CGSCreateCString(char *);
int CGSCreateBoolean(BOOL);
int _CGSDefaultConnection();
void CGSReleaseObj(int);
int propertyString, boolVal;
// Hack to make background cursor setting work
propertyString = CGSCreateCString("SetsCursorInBackground");
boolVal = CGSCreateBoolean(TRUE);
CGSSetConnectionProperty(_CGSDefaultConnection(), _CGSDefaultConnection(), propertyString, boolVal);
CGSReleaseObj(propertyString);
CGSReleaseObj(boolVal);
}
Run Code Online (Sandbox Code Playgroud)
它给了我4个错误:
"_CGSCreateBoolean",引自: - MyClass.o中的[MyClass myMethod]
"_GetSystemVersion",引用自: - MyClass.o中的[MyClass myMethod]
"_CGSCreateCString",引自: - MyClass.o中的[MyClass myMethod]
"_CGSReleaseObj",引用自: - MyClass.o中的[MyClass myMethod]
我正在尝试使用以下代码在全局注册NSMouseMoved事件:
[NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMoved handler:mouseMovedBlock];
Run Code Online (Sandbox Code Playgroud)
但是,仅在单击鼠标时调用我的mouseMovedBlock,而在移动鼠标时不调用。我尝试检测NSEvent的类型,并返回NSMouseUp,这实际上没有任何意义。
为什么我的程序表现得如此奇怪/我想念什么?