相关疑难解决方法(0)

如何在键盘出现时在iOS上调整UITextView的大小?

UITextView插入UITabBarController(在iPhone上)的标签中.

  1. 填写UITextView很多行.
  2. 显示键盘以编辑文本.

发生了什么?键盘UITextView用光标隐藏了一半.无法编辑文本作为结果.

如何解决所有Apple移动设备(具有不同屏幕分辨率)的问题?非常感谢您的帮助!

iphone keyboard uitextview

16
推荐指数
3
解决办法
2万
查看次数

高度和contentOffset的UIScrollView动画从底部"跳转"内容

尝试做类似于Messages.app的行为,我UIScrollView在它下面有一个文本字段,并尝试对其进行动画处理,以便当键盘出现时,所有内容都会使用一个向上移动字段的约束向上移动(和所述UIScrollView的高度变化,以及由于自动版式),并且还设置contentOffset在同一时间滚动到底部.

代码完成了所需的最终结果,但在动画期间,当键盘动画开始时,滚动视图变为空白,然后内容从底部向上滚动,而不是从动画开始时的位置滚动.

动画是这样的:

- (void)updateKeyboardConstraint:(CGFloat)height animationDuration:(NSTimeInterval)duration {
    self.keyboardHeight.constant = -height;
    [self.view setNeedsUpdateConstraints];

    [UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
        [self.view layoutIfNeeded];
        self.collectionView.contentOffset = 
            CGPointMake(0, self.collectionView.contentSize.height - self.collectionView.bounds.size.height);
    } completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

此处提供了该问题的视频.

谢谢!

core-animation objective-c uiscrollview ios autolayout

12
推荐指数
2
解决办法
2万
查看次数

当键盘弹出自动布局时调整UITextView的大小

我想在键盘出现时调整UITextView的大小,但我似乎无法做到这一点.我在其中创建了一个带有UITextView的视图.在代码中,我想手动调整此文本视图的高度.我这样做:

_textView.translatesAutoresizingMaskIntoConstraints  = NO;

NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:_textView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:216.0f];
[_textView addConstraint:constraint];
Run Code Online (Sandbox Code Playgroud)

在Interface Builder中,我说文本视图和superview之间的边距可以大于或等于0.

当我运行应用程序时,它会给出错误,即不能同时满足约束:

"<NSLayoutConstraint:0x886e550 V:[UITextView:0x7b0fa00(216)]>",
"<NSLayoutConstraint:0x886f7c0 UITextView:0x7b0fa00.bottom == UIView:0x886e3c0.bottom>",
"<NSLayoutConstraint:0x886f700 V:|-(0)-[UITextView:0x7b0fa00]   (Names: '|':UIView:0x886e3c0 )>",
"<NSAutoresizingMaskLayoutConstraint:0x71a2d10 h=--- v=--- V:[UIWindow:0x8a792f0(480)]>",
"<NSAutoresizingMaskLayoutConstraint:0x71a1490 h=-&- v=-&- UIView:0x886e3c0.height == UIWindow:0x8a792f0.height - 20>"


Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x886e550 V:[UITextView:0x7b0fa00(216)]>
Run Code Online (Sandbox Code Playgroud)

我不确定如何确保满足所有约束.有人能帮我一把吗?

谢谢!

layout xcode objective-c ios

0
推荐指数
1
解决办法
4603
查看次数