2014-09-11 20 views
5

Tôi có một giao diện mà tôi muốn thay đổi vị trí khi bàn phím được hiển thị, tôi sử dụng UIKeyboardWillShowNotification ủy quyền để cập nhật vị trí và hoạt động hoàn hảo trong thiết bị IOS 7 nhưng khi tôi cố gắng chạy nó trong thiết bị IOS 8, sau đó xem không được định vị lại, khung được cập nhật như tôi có thể nhìn thấy nó trong nhật ký.IOS 8 đặt khung nhìn không hoạt động

Sau đây là mã của tôi

-(void) keyboardWillShow:(NSNotification*) notification{ 

    @autoreleasepool { 
     CGRect frame = _loginFrame.frame; 
     frame.origin.y-=200; 

     DLog(@"login frame %@ ",NSStringFromCGRect(frame)); 
     [UIView animateWithDuration:0.25 animations:^{ 
      [_loginFrame setFrame:frame]; 
     }]; 
    } 

}

Tuy nhiên, khi tôi cố gắng những hình ảnh động trong dispatch_after chặn sinh động của nó đến vị trí mới

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 
    [UIView animateWithDuration:0.25 animations:^{ 
     [_loginFrame setFrame:frame]; 
    }]; 
}); 

bất kỳ ý tưởng tại sao khung không phải là hoạt ảnh đến vị trí mới mà không có dispatch_after?

Cảm ơn!

LƯU Ý: nó trông giống như setFrame: Phương pháp không được làm việc, không biết tại sao, tôi đã tạo ra một ios cơ bản 8 ứng dụng để kiểm tra điều này

2014-09-11 18: 59: 54,836 Bàn phímCheck [31215: 1451974] hiển thị bàn phím 2014-09-11 18: 59: 54.837 Bàn phímCheck [31215: 1451974] khung cũ {{60, 269}, {200, 30}} 2014-09-11 18: 59: 54.837 Bàn phímCheck [31215: 1451974] khung cập nhật {{60, 169}, {200, 30}} 2014-09-11 18: 59: 55.33 9 Bàn phímCheck [31215: 1451974] hoàn thành khối khung {{60, 269}, {200, 30}} 2014-09-11 18: 59: 55.822 Bàn phímCheck [31215: 1451974] bàn phím ẩn 2014-09-11 18: 59: 55,822 KeyboardCheck [31.215: 1.451.974] khung cũ {{60, 269}, {200, 30}} 2014/09/11 18: 59: 56,324 KeyboardCheck [31.215: 1.451.974] hoàn khối khung {{60, 269}, {200, 30}}

+1

Bạn đang sử dụng bố trí ô tô? – Fogmeister

+1

Nếu 'dispatch_after' hoạt động, phần lớn do bạn sử dụng bố cục tự động. Cách đúng để làm điều này là cập nhật các ràng buộc của bạn thay vì thiết lập khung. –

+0

Có Am sử dụng autolayout, nhưng tôi đã không có vấn đề này trong IOS 7, hạn chế được thiết lập cho trái, phải, khoảng cách dưới cùng –

Trả lời

Các vấn đề liên quan