我正在使用UITextView
开发应用以接受用户输入。出于某种原因,自动纠正弹出窗口未正确定位在正在纠正的单词上;它在屏幕外。
这是Spark Inspector的屏幕截图,显示屏幕外的弹出窗口:
弹出窗口出现在屏幕右边缘的几个像素内(x坐标为320ish),无论UITextView出现在哪里。 y坐标通常是正确的(即,弹出窗口垂直对齐,但不是水平对齐)。
我已经确认我的所有观看都没有应用任何转换,并且该应用仅支持纵向模式。救命啊!
答案 0 :(得分:0)
问题是由项目中其他地方的类别方法引起的:
@implementation UIView (VFrameManipulation)
- (void)setSize:(CGSize)newSize
{
self.frame = CGRectMake(self.frame.origin.y,
self.frame.origin.y,
newSize.width,
newSize.height);
}
@end
(请注意错误?)
显然UIView有一个名为-setSize
的私有方法,这个类别正在用一个错误版本替换它。