小编Sor*_*rig的帖子

删除UIPopoverController创建的内部阴影

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

这是popover当前的外观,使用UILabel来演示对contentViewController的影响.

酥料饼

有没有办法去除这个内部阴影?

cocoa-touch objective-c ipad uipopovercontroller ios5

19
推荐指数
3
解决办法
7468
查看次数

全局隐藏光标(来自后台应用)

我想隐藏状态栏应用程序中的光标,我做了一些研究.似乎这个问题的解决方案刚刚发现:

在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]

macos cocoa objective-c

8
推荐指数
1
解决办法
1874
查看次数

全局监视NSMouseMoved返回NSMouseUp

我正在尝试使用以下代码在全局注册NSMouseMoved事件:

[NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMoved handler:mouseMovedBlock];
Run Code Online (Sandbox Code Playgroud)

但是,仅在单击鼠标时调用我的mouseMovedBlock,而在移动鼠标时不调用。我尝试检测NSEvent的类型,并返回NSMouseUp,这实际上没有任何意义。

为什么我的程序表现得如此奇怪/我想念什么?

cocoa objective-c

3
推荐指数
1
解决办法
428
查看次数