【问题标题】:App UIs got defects when setMasksToBounds:YES应用程序 UI 在 setMasksToBounds:YES 时出现缺陷
【发布时间】:2012-03-09 15:37:30
【问题描述】:

我遇到了一个奇怪的问题。您可以看到两个附加的屏幕截图。问题是缺陷,未知的白色矩形缺陷。在第二张截图中,键盘的某些部分甚至消失了。

用设备测试也是同样的问题...

谁知道可能是什么原因?非常感谢。

textFieldDidBeginEditing

- (void)textFieldDidBeginEditing:(UITextField *)textField{
DEBUGLog
if (!isIPAD) {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    if (!viewFrameUp) {
        viewFrameUp=YES;
        self.navigationController.navigationBar.alpha=0;
        self.view.frame = CGRectOffset(self.view.frame, 0, -self.navigationController.navigationBar.frame.size.height);
      }


    CGPoint point = [textField.superview convertPoint:CGPointMake(0, 0) toView:maintable];
    CGPoint contentOffset = maintable.contentOffset;
    contentOffset.y=point.y-10.0-self.navigationController.navigationBar.frame.size.height; // Adjust this value as you need
    [maintable setContentOffset:contentOffset];
    [UIView commitAnimations];

}


if ([cellTextFields indexOfObject:textField]==0) {
    [keyBoardControl setEnabled: NO forSegmentAtIndex:0];
    [keyBoardControl setEnabled: YES forSegmentAtIndex:1]; 
} else{
    [keyBoardControl setEnabled: YES forSegmentAtIndex:0];
    [keyBoardControl setEnabled: YES forSegmentAtIndex:1];   
}


}

【问题讨论】:

  • 这种情况什么时候发生?导致这些问题的步骤是什么?键盘出现后你是否在进行额外的绘图?
  • 谢谢,我已经用 textFieldDidBeginEditing 更新了这个问题。该应用程序是通用的,我为 iPhone 设置了 tableview.contentOffset 上下。重现问题会是:1.push viewcontroller,2.选择一个UItextfield进行编辑。 3、换到另一个文本域进行编辑。那么问题就发生了
  • 你的keyBoardControl是什么样的对象?
  • 重现此问题时是否有任何错误日志?我建议注释掉一些与绘图相关的代码,或者如果您使用它们,则在您的 xib 文件中隐藏/禁用对象/控件,直到您能够缩小导致此问题的原因。
  • 嗨,bneely,我终于找到原因了,原因是一行代码:[leftVC.view.layer setMasksToBounds:YES];但仍在想办法解决它。

标签: ipad uitableview keyboard uitextfield


【解决方案1】:

对于任何碰巧遇到这个问题的人。我找到了原因:我将以下 CALayer 的属性一起用于视图的图层,这没有任何意义并导致我出现这个 UI 问题......“masksToBounds:YES”不应该与阴影一起使用。

[myviewLayer setMasksToBounds:YES]

myviewLayer.shadowColor=...
myviewLayer.shadowOpacity=...
myviewLayer.shadowRadius=...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 2019-05-28
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多