是否可以旋转/仿射变换UIMenuController

时间:2015-09-09 16:18:36

标签: ios uimenucontroller

没有进入'为什么'这一切,我有UITextField是视图层次结构的一部分,通过仿射变换在屏幕上强行“颠倒”。

CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(180))

这适用于所有子视图 - 包括UITextField - 直到用户想要在文本字段内容上使用UIMenuController的复制/粘贴功能。当显示UIMenuController时,它就像UITextField一样“正面向上”而不是“倒置”。

无论如何都要保持UIMenuController的视图在显示时应用相同的变换?

目前,我正在侦听UIMenuControllerWillShowMenuNotification通知,然后获取UIMenuController。但我似乎找不到将变换应用于它的方法。有任何想法吗?

- (void)textFieldDidBeginEditing:(UITextField *)textField {
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(menuControllerWillShow:) name:UIMenuControllerWillShowMenuNotification object:nil];

}

- (void)menuControllerWillShow:(NSNotification*)aNotification {

    UIMenuController* menuController = [UIMenuController sharedMenuController];
    CGAffineTransform xform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(180));

    CGRect oldRect = menuController.menuFrame;
    CGRect newRect = CGRectApplyAffineTransform(oldRect, xform);   

    // eh... now what? 
}

0 个答案:

没有答案