草庐IT

AutoLayout

全部标签

ios - 使用 AutoLayout 缩放 UIImageView 以适应宽度

我在UIScrollView之上有一个UIImageView,我希望它适合设备宽度,然后自动设置它的高度,以便保留图像比例。我正在使用自动布局,所以我使用约束将UIImageView绑定(bind)到屏幕的顶部、左侧和右侧边缘。我的问题是,UIImageView会自动调整其框架的大小以适应UIImage的高度。之后我无法真正更改此框架,因为它在UIImageView和其他UI元素之间留有间隙,而这些元素本应位于其下方。我找到了一个变通方法,即在将图像放入UIImageView之前手动将其调整为合适的大小,但效率不高,并且在调整View大小时(例如设备旋转时)会产生问题。有没有人找到一种

iOS - 使 UIImageView 调整大小以适应 UILabel 和 AutoLayout

我已经有一段时间遇到这个问题了,这让我发疯:我有一个UILabel,其中的文本可以动态更改,我有一个UIImageView应该作为文本的背景。我希望UIImageView调整自身大小以始终适合UILabel的文本。“付费”可以变成“免费”,或者法语中的“付费”,后面的框应该总是调整大小。使用Storyboard,我尝试添加一个UIImageView并在其上添加UILabel,并将UILabel的约束设置为UIImageView,但这最终会将UILabel的大小调整为UIImageView的大小。我无法为UIImageView设置固定的宽度或高度,因为它应该适应。我的第二次尝试是制作一个

ios - Autolayout - 使用 NSLayoutAttributeCenterX 时,乘数使用什么比例?

当使用NSLayoutAttributeCenterX属性时,乘数1会导致与引用View匹配的中心。增加该值将其向左移动,向0减小将其向右移动。通过使用2.5、1和0.625的乘数,我已经能够通过反复试验(3个View均匀分布在superView中)大致获得我想要的结果。在四处乱逛时,我发现200以所引用View的左边缘为中心(也增加了超过不移动View),而0.5以右边缘为中心(向0减小确实将View进一步向左移动).所以这是我的问题:这是什么?是否有一个公式可以用来准确地以这种方式放置View,或者它会永远反复试验吗?他们为什么要这样做? 最佳答案

ios - 不遵守对 UITableViewCell contentView 的 AutoLayout 约束

我正在尝试创建动态调整大小的表格View单元格。我使用thisanswer完成了调整大小,非常详细,很有帮助。但是,在heightForRowAtIndexPath中未正确计算标签的最大宽度。我的单元格目前在其contentView中只有一个标签,约束设置为将所有标签边缘固定到contentView边缘。这是我在IB中拥有的正在使用heightForRowAtIndexPath中的屏幕外单元格计算单元格大小,使用CGSizesize=[cell.contentViewsystemLayoutSizeFittingSize:UILayoutFittingCompressedSize];在

ios - 使用 XIB 和 AutoLayout 自定义 UITableViewHeaderFooterView

我从我的自定义UITableViewHeaderFooterView中收到此错误:***由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行-layoutSubviews后仍需要自动布局。WYBDetailHeaderView实现-layoutSubviews需要调用super.'我已经将UITableViewHeaderFooterView子类化并创建了一个XIB文件,我使用registerNib:forHeaderFooterViewReuseIdentifier:在我的UITableView上加载它。由于IB中没有UIT

ios - 如果 View 变得太小,Autolayout 可以隐藏 View 吗?

我水平排列了三个View(A、B、C)。A有一个固定的宽度,B有一个最大宽度,C有一个最小宽度并且会填充所有剩余空间到屏幕的宽度。B是一个图像,它缩放保持其纵横比。在大屏幕上,B达到了最大尺寸并且看起来很棒。在非常小的屏幕上,B完全消失了,这很好。然而,在这两者之间,我们有时会看到B显示为非常小的图像-只有几个像素宽而且太小而无法辨认。我怎么说“如果B的宽度小于20像素,则将其完全隐藏”?(我必须支持iOS7,所以我更喜欢不使用UIStackView的解决方案。) 最佳答案 您可以为您的约束设置一些优先级来执行此操作。当它们不满足V

ios - 使用 AutoLayout 出现键盘时移动 UIView

我有一个UIView,无论UIKeyboard出现还是消失,我都想上下移动它。不幸的是我无法让它工作。在AutoLayout之前,这是一个很简单的事情,但自从AutoLayout以来,我在这方面遇到了一些麻烦。这是我目前所拥有的:-(void)viewDidLoad{[superviewDidLoad];[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(keyboardWillShow:)name:UIKeyboardWillShowNotificationobject:nil];[[NSNot

iOS AutoLayout 不断增长的行

我对自动布局有点陌生,现在遇到了困难。我今天搜索了WWDC视频,因为我记得一个例子,但找不到它......在它的简单形式中,布局应该是这样的:@"|[label]-[value1]-[value2]-[hideDetailsButton]|"@"V:|[label]|"但是应该可以有多个值,其中label和hideDetailsButton保持顶部对齐并且值增长到多行。像这样:@"|[label]-[value1]-[value2]-[hideDetailsButton]|"@"|[value3]-[value4]-[value5]"@"V:|[label]-[value3]|"值标签

ios - 我可以在 iOS 上指定 AutoLayout 约束以间隔到最近的可见邻居吗?

我很好奇是否可以向最近的可见(未隐藏)邻居添加约束。假设我有3个UIView:[View1]-[View2]-[View3]假设当前每个View之间有10像素。我想要的是view1距离最近的可见邻居10px。所以当我隐藏view2时,view3会靠得更近,这样view1和view3之间就只有10px。这可以通过AutoLayout约束实现吗? 最佳答案 实现此目的的一种方法是在Controller中创建一个IBOutlet并将您的第二个View的宽度约束与其相关联。每当您需要隐藏view2时,修改约束的constant属性并将其设置

ios - 具有可变数量 subview 的 UITableViewCell 的动态高度与 autoLayout

我处于这样一种情况,我希望UITableViewCells具有可变数量的subview,具体取决于数据。显然,这会导致每个单元格的动态高度。我研究并在UsingAutoLayoutinUITableViewfordynamiccelllayouts&variablerowheights找到了一个非常好的帖子.github上的示例项目展示了如何计算具有固定数量subview的单元格的高度,即两个UILabel,其中一个标签是多行的。我明白这一点,但就我而言,这些标签的数量可能会有所不同。我的第一种方法是,我可以在Cell的contentView中添加一个UIView,然后在可用时将所有U