应用UI在setMasksToBounds:YES时出现缺陷

时间:2012-02-18 13:52:55

标签: ipad uitableview keyboard uitextfield

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

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

任何人都知道可能是什么原因?非常感谢。

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];   
}


}

Normal Keyboard Centred keyboard

1 个答案:

答案 0 :(得分:0)

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

[myviewLayer setMasksToBounds:YES]

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