【问题标题】:SWIFT: in uiscrollview can't press buttonSWIFT:在 uiscrollview 中无法按下按钮
【发布时间】:2016-05-07 05:49:02
【问题描述】:

我使用 uiscrollview,当我在滚动视图中单击按钮时,我在 textView 中添加文本,然后在视图外添加按钮,所以......当按钮在视图外时,我向下滚动并且无法单击按钮。我的代码:

改变滚动视图高度:

scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 1000);

【问题讨论】:

  • 检查 Scrollview 内所有视图的自动调整大小。你的按钮是可见的,但实际上它不是。并确保您的按钮具有用户交互 YES 。检查您的按钮是否可见。请参阅下面的我的回答

标签: ios swift uiscrollview uibutton uitextview


【解决方案1】:
CGRect frameforMainView = mainView.frame;
frameforMainView.size.height = viewFirstAnswerButton.frame.origin.y + viewFirstAnswerButton.frame.size.height;
mainView.frame = frameforMainView;

//Now Set ContentSize Of scroll view;
[scrollView setContentSize:CGSizeMake(0, mainView.frame.origin.y + mainView.frame.size.height)];

如果您使用自动布局,请不要忘记添加translatesAutoresizingMaskIntoConstraints = YES

【讨论】:

    【解决方案2】:

    您可以尝试在 UIScrollView 上将 delaysContentTouches 设置为 false

    UIScrollView

    【讨论】:

      【解决方案3】:

      在我的情况下,当按钮进入子视图 -> 进入 ScrollView 时,无论你有什么滚动视图设置,点击都不会被缓存..

      所以我将按钮添加为我的滚动视图的子视图并触发了点击

      scrollView.addSubview(button)
      

      【讨论】:

      • 虽然有违本站的规定,但还是要谢谢你。您关于在滚动视图内部的视图中设置按钮不起作用的警告是 fixed 我的问题。一直以为scrollview应该只有一个subview,但我可能是从Android那里继承了这个习惯。
      【解决方案4】:

      将所有子视图从 mainView 拖到 ScrollView。并隐藏主视图。确保 mainView(ContainerView of scrollView) 也应该是 scrollView 的子视图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-26
        • 1970-01-01
        • 1970-01-01
        • 2019-10-20
        • 1970-01-01
        • 2023-01-16
        • 2017-11-14
        相关资源
        最近更新 更多