gpt4 book ai didi

iphone - Expedia 应用程序部分索引 : how they do that?

转载 作者:行者123 更新时间:2023-12-03 18:47:23 25 4
gpt4 key购买 nike

我注意到 Expedia 应用程序 (http://a5.mzstatic.com/us/r1000/027/Purple/4c/f4/6c/mzl.wcipbyyg.320x480-75.jpg) 在酒店列表上为 UITableView 有一个自定义的sectionIndex。 (附图)

我认为它可能是一个自定义 View ,也许带有垂直 UISlider,但据我所知,UISlider 无法识别幻灯片上的触摸事件,而只能识别拖动事件。

那么,他们是如何做到的呢?垂直排列的按钮 ?但是,在这种情况下,如何识别拖动事件?

我想复制该控件,但我需要一些提示;)

谢谢

最佳答案

实现效果的方法还有很多。假设你有一个从 nib 文件初始化的 self.view 并且它是普通的 UIView,你可以将以下代码放入 viewDidLoad 中:

- (void)viewDidLoad
{
CGRect tvFrame = self.view.frame;
tvFrame.origin = CGPointZero;
UITableView* tv = [[UITableView alloc] initWithFrame:self.view.frame];
tv.delegate = self;
tv.dataSource = self;
tv.showsVerticalScrollIndicator = NO;
[self.view addSubview:tv];

CGRect svFrame = CGRectMake(290, 10, 30, 400);
UIScrollView* sv = [[UIScrollView alloc] initWithFrame:svFrame];
sv.contentSize = CGSizeMake(10, 780);
sv.showsVerticalScrollIndicator = NO;
sv.bounces = YES;

CGRect vFrame = CGRectMake(10, 380, 10, 20);
UIView* v = [[UIView alloc] initWithFrame:vFrame];
v.backgroundColor = [UIColor blueColor];
[sv addSubview:v];

[self.view addSubview:sv];
[super viewDidLoad];
}

这将创建一个具有狭窄 ScrollView 的表格,表格上方有一个蓝色矩形。现在您可以独立滚动两个 ScrollView (表格也是 ScrollView )。

然后您必须设置委托(delegate)并通过 UIScrollViewDelegate 接收滚动事件。当其中一个 ScrollView 开始拖动时,您必须开始设置另一个 ScrollView 的偏移量。

关于iphone - Expedia 应用程序部分索引 : how they do that?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6613507/

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