gpt4 book ai didi

iphone - 触摸并下拉 View

转载 作者:可可西里 更新时间:2023-11-01 04:16:44 27 4
gpt4 key购买 nike

我在界面顶部(状态栏下方)有一个 uiview,只显示了它的底部。

其实我是想把红色的uiview拖下来完全显示出来,比如原生iOS中的notificationcenter,而不仅仅是点击一个按钮。

我应该使用什么来“触摸并下拉”uiview 以便它可以完整显示?

Example

最佳答案

不需要找到拖放的解决方法。 UIScrollView 可以做到这一点,而不会因监听触摸而带来任何性能损失。

pulldown

@interface PulldownView : UIScrollView

@end

@implementation PulldownView

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (!self) {
return self;
}
self.pagingEnabled = YES;
self.bounces = NO;
self.showsVerticalScrollIndicator = NO;
[self setBackgroundColor:[UIColor clearColor]];
double pixelsOutside = 20;// How many pixels left outside.
self.contentSize = CGSizeMake(320, frame.size.height * 2 - pixelsOutside);
// redArea is the draggable area in red.
UIView *redArea = [[UIView alloc] initWithFrame:frame];
redArea.backgroundColor = [UIColor redColor];
[self addSubview:redArea];
return self;
}

// What this method does is to make sure that the user can only drag the view from inside the area in red.
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
if (point.y > height)
{
// Leaving useless touches to the views under it.
return nil;
}
return [super hitTest:point withEvent:event];
}

@end

使用方法:
1. 初始化PulldownView实例。
2. 使用 [addSubview:] 添加您想要显示的任何内容到实例。
3.隐藏红色区域。

[pulldownView setContentOffset:CGPointMake(0, heightOfTheView - pixelsOutside)];

这是一个简单的例子。您可以向其添加任何功能,例如在可拖动区域的底部添加带标题的按钮栏以实现点击拖放,或向界面添加一些方法以由调用者重新定位它。

关于iphone - 触摸并下拉 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690964/

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