在故事板上,在视图控制器内我有一个滚动视图。导航栏和堆栈视图嵌入在滚动视图内。我以编程方式在堆栈视图中添加了一些 UI 元素。
通过故事板,滚动视图的约束设置为与安全区域相同 - 顶部、底部、前导、尾随和宽度。
导航栏约束 - 尾随、前导、顶部、宽度与超级视图相同。
Stackview 约束 - 尾随、前导、底部、宽度与 superview 相同。
导航栏的底部与 stackview 的顶部相同,因此它们是一个在另一个之下。
设置这些约束后,滚动视图出现错误 - 需要约束:Y 位置或高度
由于 UI 元素是动态添加到 stackview 中的,因此如何设置 Storyboard 中的高度?有一个更好的方法吗?
我尝试了“添加缺少的约束”选项,它为堆栈视图添加了恒定的高度,但这并不适用于所有设备。由于我是 iOS 应用程序开发的新手,因此非常感谢任何帮助。谢谢。
我知道有一些类似的帖子,但它们似乎对我不起作用.
我有一个uitextview,我想表现得类似于messenging应用程序.
我使用autolayouts和[textview setScrollEnabled:NO]来允许uitextview在键盘上方动态扩展.当然,它会一直延伸到屏幕顶部.当它停止增长时,你无法看到任何其他文字.
我试图找到它在textViewDidChange内停止增长的高度并调用[textView setScrollEnabled:YES],但它在缩小之前缩小了初始大小.
如何在滚动到达某个高度或不再生长时启用滚动?
我有UIView自动布局约束.我用框架创建它CGRectZero.所以我不是真正的大小.这将取决于superview.
但我想知道我的视图何时获得一个可用于计算的框架.
我正在尝试为我在导航栏上添加的UI标签添加约束.UI标签显示正在运行的计时器
这是我的代码,
self.label = [[UILabel alloc] initWithFrame:CGRectMake(550, 15, 150, 14)];
self.label.text = @"Label";
[self.label setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.navigationController.navigationBar addSubview:self.label];
[self.navigationController.navigationBar addConstraint:[NSLayoutConstraint constraintWithItem:self.label
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self.navigationController.navigationBar
attribute:NSLayoutAttributeTrailing
multiplier:1.0f
constant:-20.0f]];
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,我收到错误"无法修改由控制器管理的UINavigationBar的约束".
如何添加此约束?
我有一个带有几个UITableView控制器的应用程序.在iOS 8.x上运行,每个表中所有单元格的高度将调整大小以适合单元格的内容(所有单元格都只包含带有纯文本的UILabel).现在,当在iOS 9上运行时,每个表上的每个单元格只有一行高.这适用于动态和静态表.我已经搜索了UIKit差异文档并进行了大量搜索,但是我找不到合适的组合来获得除了所有表格中所有单元格中一行高度以外的任何东西.
我正在尝试在ios 9故事板中制作一个全宽按钮,并且我正在尝试创建宽度自动约束,但宽度约束似乎只需要一个精确的静态数字.如何使项目全宽.
另外,如果我想说一个imageview是全高和可调宽度来保持它的宽高比 - 或者是一个适合填充的大小,我将如何使用故事板中的自动布局约束来做到这一点.
我应该在视图控制器中以编程方式执行此操作吗?
I want to insert three images in collection view cell, 3 images. One image for each cell.Only one section. But when the simulator shows black screen, no any images. Here is part of my code:
import Foundation
import UIKit
class CatImagesViewController:UIViewController,UICollectionViewDataSource,UICollectionViewDelegate
{
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 3
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let con = CatService(test:"test")
let temp = NSUserDefaults() …Run Code Online (Sandbox Code Playgroud) 我曾尝试实现嵌入我的View Controller的导航控制器.它按预期工作.
但我的要求略有不同,只需要一个后退按钮,并且已经在所有屏幕中都有一个带有徽标图像背景的顶部横幅.因此,如果我尝试实现后退按钮,它会占用导航栏的空间,其中包含徽标/顶部横幅.
有没有办法克服这种情况.
我正在尝试使用自动布局对齐两个 UILabel,其中第一个标签没有设置宽度,但使用内部内容大小,第二个标签应与第一个标签的宽度相同,将文本换行到新行。
理想情况下,第二个标签应该将数字线设置为0与动态类型一起使用,但我2暂时将其设置为,甚至给了它一个特定的高度。然而,当我尝试对齐equal widths或 时trailing,内在内容大小标签扩展到多行标签的宽度,就好像它都在一行上一样(见下图)。
有什么方法可以让我在不指定第一个标签的宽度的情况下实现我想要的?我希望它扩展内容以考虑动态类型,并且第二个标签具有相同的宽度并将所有文本换行到新行。
当我的 UILabel 的字体大小被调整以适应标签的宽度时,文本的底部被切断。这是调试视图的屏幕截图:
UILabel 具有以下特点:
附加元素:
不起作用的事情:
(在我输入这个问题时,我再次尝试更改基线调整设置以确认它不起作用,这次它起作用了。请参阅答案。)
ios-autolayout ×10
ios ×7
autolayout ×5
swift ×4
ios7 ×1
ios8 ×1
ios9 ×1
nsautolayout ×1
objective-c ×1
uiscrollview ×1
uistackview ×1
uistoryboard ×1
uitableview ×1
uitextview ×1
xcode ×1
xcode6 ×1