如何让 UIButton 粘在 UIView 的底部
Posted
技术标签:
【中文标题】如何让 UIButton 粘在 UIView 的底部【英文标题】:How can I make UIButton stick to the bottom of the UIView 【发布时间】:2012-01-21 18:49:44 【问题描述】:对不起,如果这个问题对你来说很愚蠢,但真的:
我需要在 UIView 上放置一个按钮,其中包含 UITableView 作为其子视图。现在,我使用 Interface Builder 将它放在 UITableView 的正下方(通过使 UITableView 更短一点,以适应 UIButton)。
当我编译和运行程序时,Button 仍保留在表格下方,但我必须滚动 UITableView,因为表格视图包含的行数超过 iPhone 屏幕可以容纳的行数。
是否有 UIButton 的任何属性,通过设置我可以让它出现在视图的底部,而不管 UITableView 的高度。 IB有什么相关的吗?
在此先感谢 :)
【问题讨论】:
滚动表格视图时按钮移动是您的问题吗? 你想让按钮重叠/出现在表格视图的顶部吗? @DarkDust:我可以说没有按钮不滚动,它仍然在 tableview 的底部。 那么按钮是否应该随着表格视图滚动?我还不明白你希望它如何表现。 @smparkes:我希望按钮始终位于视图底部(固定位置),无论 UITableView 中的行如何。 【参考方案1】:我假设你有以下布局:
parent-view
|
+-- table-view
|
+-- button
所以按钮是UITableView
的子视图。由于它也是一个滚动视图,因此按钮将随之滚动。要使其保持在同一位置,您需要将其设为兄弟:
parent-view
|
+-- table-view
|
+-- button
【讨论】:
正如您所想,感谢您的帮助。 :)【参考方案2】:我认为您想要的是创建一个带有两个子视图的父视图,即表格视图和按钮。您使 tableview 框架与父视图框架相同,然后设置按钮的原点,使其显示在父视图的底部。添加表格视图后,您需要将按钮添加为子视图,以便它显示在顶部。然后想让表格视图/滚动视图知道底部被覆盖了,所以它会让你向下滚动一点。不幸的是,我手头没有语法...
【讨论】:
不,您不必编写代码,但是用文字描述如何在 IB 中做事并不容易。而且,就我个人而言,我在 IB 上的表现并不出色(我什么都写代码),所以我不是最好的人选。对不起。 谢谢 :) 你知道吗,如果自动调整大小、大小和位置、对齐或放置与它有什么关系???【参考方案3】:就像 DarkDust 所说,您需要使按钮 至少 成为 table view 的兄弟。如果您想让按钮保留在多个视图上,您可以试试这个:
[[[self view] window] addSubview:yourButton];
此代码会将您的按钮添加为应用程序窗口的子视图,因此它将一直保留在那里,直到您明确删除它:
[yourButton removeFromSuperview];
将您的按钮添加为窗口的子视图将允许它保持在其位置,而不管其他对象或视图的移动。
【讨论】:
【参考方案4】:您确定按钮在 UIView 内而不是在 UITableView 内吗?在界面生成器中拖动按钮很容易导致 tableview 包含一个按钮。
【讨论】:
以上是关于如何让 UIButton 粘在 UIView 的底部的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中让 UIView 粘在 ViewController 框架的底部
如何在 UITableView 顶部添加一个一起滚动的视图,但在滚动后粘在顶部
如何检测 UIView 上的触摸并检测单击哪个 UIView 类似于 UIButton 上的触摸?
如何使用自动布局防止 UIButton 超出其父 UIView 的宽度