【问题标题】:How to add a slider to move downward in view? [closed]如何添加滑块以在视图中向下移动? [关闭]
【发布时间】:2013-03-13 10:32:58
【问题描述】:

我是 iOS 编程新手,所以我希望这不是一个愚蠢的问题。我必须以编程方式在我的视图中添加十个不同的按钮。我知道如何以编程方式添加按钮,但我的按钮不适合视图,因此其中一些必须出现在视图的可视高度下方,所以我想添加按钮,以便用户可以向上和向下滑动在视图中移动。如何做到这一点?

【问题讨论】:

    标签: ios cocoa-touch uiviewcontroller uibutton cocoa-design-patterns


    【解决方案1】:

    有许多标准 UI 元素 UIKit 提供帮助处理显示的内容超过屏幕在任何时间可以显示的内容:

    您可能会受益于UICollectionView 提供的一些自动布局和格式设置,但从您的描述看来,UIScrollViewUITableView 似乎最适合您的方案。

    UIScrollView

    UIScrollView 充当用户进入其包含的底层视图的视口,并默认提供复杂的平移和缩放功能。它是高度可配置的,如果您不需要它,您可以阻止缩放功能。

    只需确保将您的视图放在 Interface Builder 中的 UIScrollView 中并设置 contentSize 属性。将contentSize 设置为大于UIScrollView 的边界应该会自动启用滚动。要启用缩放,请让您的 UIViewController 实现 UIScrollViewDelegate

    @interface MYViewController : UIViewController <UIScrollViewDelegate>
    @end
    

    然后确保在viewForZoomingInScrollView: 方法中返回您的视图:

    -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
    {
        return theViewContainingTheButtons;
    }
    

    UITableView

    UITableView 专门设计用于显示可以垂直滚动的项目列表,如果其内容高于视图大小。

    UITableView 由多个UITableViewCells 组成,每个UITableViewCells 可以包含您希望显示的按钮之一。 Apple 的Table View Programming Guide for iOS 涵盖了UITableView 的大部分方面。

    结论

    UITableView 方法专门关注您所询问的内容,而忽略了托管按钮的视图中可能还有其他内容。这也意味着您必须更改现有的动态按钮放置代码并编写新代码以使用表格视图。实际上,UIScrollView 很可能是您正在寻找的东西,但我想展示您可能不知道的其他 UI 元素,这些元素可用于实现您所描述的内容。

    祝你好运!

    【讨论】:

      【解决方案2】:

      您不需要使用称为 UIScrollView 的特殊元素。它会自动处理所有这些。这是文档的链接: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollView_Class/Reference/UIScrollView.html

      【讨论】:

        【解决方案3】:

        您可以使用UIScrollView

        不是将UIButton 添加到UIView,而是添加到UIScrollView 并设置UIScrollView contentSize

        更多帮助:UIScrollView from Apple

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多