无法调整UIScrollView的Frame的大小

时间:2014-03-11 18:40:24

标签: ios iphone uiscrollview resize frame

我有一个UIScrollView,它的框架和contentSize具有相同的大小。我想在键盘出现时更改scrollView的帧高,但它不起作用。 如果我改变x或y位置一切正常,但如果我试图改变框架的宽度或高度,一切都保持不变,没有任何反应。

这是我的代码:

-(void)resizeContentView:(BOOL)resize forOffset:(CGFloat)offset
{
    [UIView animateWithDuration:0.3f animations:^{
        UIView* resizeView = [self getResizingView];
        if ( !resizeView )
            return;
        CGRect rect = resizeView.frame;
        if (resize)
        {
            rect.size.height -= offset;
        }
        else
        {
            rect.size.height += offset;
        }
        resizeView.frame = rect;
    }];
}

我没有使用Autolayout,无论我是否使用动画,都会出现同样的问题。

1 个答案:

答案 0 :(得分:0)

尝试更改content size通知{/ 1}}。

keyboaardDidAppear

已编辑

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}