我有一个UIMenuController,我已经添加了一些额外的项目。我希望菜单位于所选择的文本下方,因此我尝试了以下操作:

[UIMenuController sharedMenuController].arrowDirection = UIMenuControllerArrowDown;


这似乎无济于事,我尝试的所有操作都不会将菜单放在文本下方。

我怎样才能做到这一点?

最佳答案

根据docsarrowDirection设置箭头指向的方向;它与菜单相对于其目标区域的位置无关。看起来,除了setTargetRect:inView以外,他们还无法控制菜单的位置。

如果您确实希望将菜单放在文本下方,则可以设置“伪”目标区域并更改箭头方向以指向感兴趣的“真实”区域。

但是,苹果这样做可能是有原因的。我猜?如果您用手指选择一些文本,则您的手可能会遮住文本下方的屏幕部分……因此,如果菜单出现在此处并不会很有帮助。竭尽全力破坏与标准UI约定的一致性通常是不值得的。

关于objective-c - 设置UIMenuController箭头方向不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9798270/

10-12 14:32