菜鸟教程小白 发表于 2022-12-12 18:37:53

iphone - 带有自定义索引 View 的 UITableView


                                            <p><p>我要做的是自定义 UITableView 索引的外观。经过一番搜索,我得出的结论是这是不可能的,我必须制作一个自定义 View 来完成类似于下面的屏幕截图。</p>

<p> <a href="http://img705.imageshack.us/img705/8573/57screenshot20111231at9.png" rel="noreferrer noopener nofollow">example http://img705.imageshack.us/img705/8573/57screenshot20111231at9.png</a> </p>

<p>我的表格 View 没有部分,所以我想做的是在点击其中一个小点时向下或向上滚动一个“页面”。此外,我希望用户能够像标准表格 View 索引一样在 View 上滑动以快速跳过页面。</p>

<p>如果你能提供一个类似的例子或至少一些关于从哪里开始的指南,我将不胜感激。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>只要您不介意“点”是固定颜色,这确实可以使用已经提供的方法来完成。您只需要使用 2 种方法:</p>

<pre><code>- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView;

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index;
</code></pre>

<p>您还需要一个 <code>UIImageView</code> 来保存您在所选“点”上的透明图像。</p>

<p>在第一种方法中,为表单返回一个 <code>NSArray</code>:<code> ;</code>。这将在侧栏中输入“点”,其中每个点代表 <code>UITableView</code> 的 1 个部分。当用户点击其中一个“点”时,<code>UITableView</code> 将移动到相应的部分。由于您希望每个部分的长度为 1 页,因此只需相应地对数据进行部分。</p>

<p>至于第二种方法,这是您调整 <code>UIImageView</code> 的框架的地方,该框架包含覆盖所选点的透明图像。只需更改 <code>.frame.</code> 属性以与新选定的部分对齐。您需要做一些数学运算才能正确排列,但这很容易。</p>

<p>您还需要使用 <code>UIScrollViewDelegate</code> 方法来处理在用户滚动时移动透明图像。它们是:</p>

<pre><code>- (void)scrollViewDidScroll:(UIScrollView *)scrollView;

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
</code></pre>

<p>这些将允许您在用户滚动时让 <code>UIImageView</code> 移动到适当的部分。同样,您必须进行一些数学运算才能将所有内容完美排列。</p>

<p>希望有帮助!</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 带有自定义索引 View 的 UITableView,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8690278/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8690278/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 带有自定义索引 View 的 UITableView