gpt4 book ai didi

iphone - 理解 Objective c 枚举声明

转载 作者:行者123 更新时间:2023-12-03 20:20:02 25 4
gpt4 key购买 nike

来自 iPhone UIControl

UIControlEventAllTouchEvents      = 0x00000FFF,
UIControlEventAllEditingEvents = 0x000F0000,
UIControlEventApplicationReserved = 0x0F000000,
UIControlEventSystemReserved = 0xF0000000,
UIControlEventAllEvents = 0xFFFFFFFF

现在我假设 UIControlEventApplication 是我可以用来指定自定义控件事件的“范围”,但我不知道如何正确执行它。仅当我分配 0xF0000000 时,控制事件才会正确触发。如果我分配其他任何值(0xF0000001),控制事件就会在不应该的情况下触发。

一些说明:

enum {
UIBPMPickerControlEventBeginUpdate = 0x0F000000,
UIBPMPickerControlEventEndUpdate = // Which value do I use here?

};

我对它是一个范围的假设是基于文档。其中说:

I assume this because the docs say: A range of control-event values available for application use.

有人可以帮助我理解 UIControl 中使用的枚举声明的类型吗?

最佳答案

我认为 0x0F000000 是您可以用来创建自己的控制事件的 4 位。

0x0F000000 = 00001111 00000000 00000000 00000000

所以任意组合:

0x00000001<<27 = 00001000 00000000 00000000 00000000
0x00000001<<26 = 00000100 00000000 00000000 00000000
0x00000001<<25 = 00000010 00000000 00000000 00000000
0x00000001<<24 = 00000001 00000000 00000000 00000000

您当然可以将它们组合在一起来创建新的:

0x00000001<<24 | 0x00000001<<25 = 00000011 00000000 00000000 00000000

所以在你的例子中:

enum {
UIBPMPickerControlEventBeginUpdate = 0x00000001<<24,
UIBPMPickerControlEventEndUpdate = 0x00000001<<25, ...
};

关于iphone - 理解 Objective c 枚举声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/865776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com