Kullanıcı oturum açma formunu göstermek için storyboard'umda bir görünüm var, bu şekilde şöyle görünür: main view-> scroll view-> content view-> iki metin alanı ve oturum açma düğmesi Görünümün altındaki üst ve bir kayıt düğmesi. Otomatik kullan özelliğini kullanıyorum ve alt düğme alt alan kısıtlaması içeriyor. Metin alanına ve klavyeye dokunduğumda, görünür rect boyutlarını değiştirmek için görünümü kaydırmak istiyorum, ancak içerik boyutu kayıt düğmesine gitmek için kalmalıdır, ancak kaydırma görünümünün boyutu değiştiğinde düğme yukarı hareket etmelidir. İstediğimi nasıl yapabilirim? Klavye göründüğündescrollview ve klavyeli iOS AutoLayout
Bu kodu kullanın:
- (void)keyboardWillShow:(NSNotification *)aNotification
{
NSDictionary *info = [aNotification userInfo];
NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
CGRect keyboardFrame = [kbFrame CGRectValue];
CGSize s = self.scrollView.contentSize;
CGFloat height = keyboardFrame.size.height;
self.scrollViewBottomLayoutConstraint.constant = height;
[UIView animateWithDuration:animationDuration animations:^{
[self.view layoutIfNeeded];
[self.scrollView setContentSize:s];
}];
}
Teşekkür ederiz. İşe yarıyor. –
Harika cevap; benim için harika çalışıyor! Teşekkürler! –
güzel ve basit, ancak bir sorun kaydırma görünümü çubuklarının kaydırma/tablo/koleksiyon görünümünün görünür kısmına yeniden boyutlandırmamasıdır. –