【发布时间】:2013-02-02 22:36:47
【问题描述】:
我想在我的应用中实现以下行为:
我的视图上有一个UIScrollView,带有可自定义的contentSize,我想在其左下角放置一个UIButton,以便在滚动视图时留在那里我希望按钮与内容保持在原来的位置同时滚动的滚动视图。
最好的方法是什么?谢谢!
【问题讨论】:
标签: ios objective-c cocoa-touch uiscrollview uibutton
我想在我的应用中实现以下行为:
我的视图上有一个UIScrollView,带有可自定义的contentSize,我想在其左下角放置一个UIButton,以便在滚动视图时留在那里我希望按钮与内容保持在原来的位置同时滚动的滚动视图。
最好的方法是什么?谢谢!
【问题讨论】:
标签: ios objective-c cocoa-touch uiscrollview uibutton
您可以在视图上添加第一个按钮,然后在视图上滚动视图,请在 xib 中检查该按钮不应该在滚动视图中试试这个我认为它对你有用。
【讨论】:
您使用界面生成器/故事板吗? 如果是这样,那么只需添加滚动视图。然后添加按钮,但不要将按钮添加为滚动视图的子视图。只需将其添加为兄弟姐妹。但请确保滚动视图首先出现。层次结构应如下所示:
\--View (The underlaying UIView
\--scrollView (The UIScrollView)
\-- anyView (Any subviews of the scroll view come here
\--button (The UIButton)
通过这样做,按钮独立于滚动视图、其滚动或内容大小。它可以很好地放置在滚动视图上。
编辑:一个快速的(不检查语法等)作为编程解决方案的示例。
UIScrollView *myScroller = [[UIScrollView alloc] initWith...];
UIImageView *someImage = [[UIImageView alloc] initWith...]; //Just a sample subivew.
UILabel *someLabel = [[UILabel alloc] initWith...]; //Another sample.
UIButton *myButton [[UIButton alloc] initWith...];
[self.view addSubView:myScroller];
[myScroller addSubView:someImage];
[self.view addSubView:myButton]; //it is important, that myScroller was added first
[myScroller addSubView:someLable]; //the sequence of addding subviews to the content does not matter much.
(您可能希望在滚动视图中有一个内容视图,然后它是所有子视图的容器。但这并不影响我试图解释的内容。)
【讨论】: