gpt4 book ai didi

ios - 跟随手指展开 UIView

转载 作者:行者123 更新时间:2023-11-29 10:25:31 25 4
gpt4 key购买 nike

在我的应用程序中,我在 UIView 中有一个 UITextView。在 UITextView 中有很多只读文本,我的 UIView 与屏幕宽度一样大,但高度不能包含 UITextView 中的所有内容。

我得到的第一个想法是创建一个手势并在手势开始时启动动画以增加 UIView 的维度。这是个好主意,但我想做得更好。

我想创建类似通知中心的东西:在通知中心,我点击系统栏,向下移动手指,我看到了这个 View 的内容,我想在我的应用程序中复制它。换句话说,我想通过在显示器上拖动手指来扩展 UIView 的尺寸。有谁知道是否有图书馆或解决方案可以做到这一点?

谢谢

最佳答案

我找到了一个解决方案。我使用 UIGestureRecognizer 并展开/缩小 UIView,这是我所做的代码:

- (IBAction)handlePan:(id)sender {
CGPoint translation;
CGRect screenRect = [[UIScreen mainScreen] bounds];
if (self.gestureRecognizer.state == UIGestureRecognizerStateBegan || self.gestureRecognizer.state == UIGestureRecognizerStateChanged) {
translation = [self.gestureRecognizer translationInView:self.view];

[self.gestureRecognizer setTranslation:CGPointMake(0, 0) inView:self.view];

CGRect newFrame = self.draggableView.frame;

newFrame.size.width = self.draggableView.frame.size.width;
newFrame.size.height = self.draggableView.frame.size.height + translation.y;

[self.draggableView setFrame:newFrame];
} else if (self.gestureRecognizer.state == UIGestureRecognizerStateEnded || self.gestureRecognizer.state == UIGestureRecognizerStateCancelled) {
if (self.draggableView.frame.size.height + translation.y < screenRect.size.height / 2) {
[self.buttonCloseView setHidden:YES];
[self.draggableView setFrame:frame];
} else {
[self.buttonCloseView setHidden:NO];
CGRect initialFrame = screenRect;
initialFrame.origin.x = 0;
initialFrame.origin.y = screenRect.origin.y + 20;
[self.draggableView setFrame:initialFrame];
}
}
}

希望对大家有用。

关于ios - 跟随手指展开 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com