视图(a)包含一个子视图(b),该子视图包含一个文本标签。
文本标签的文本设置在viewDidLoad视图(a)中。标签中的文本量会更改子视图(b)的大小。
我仅在视图(a)中获得子视图(b)的正确大小viewDidAppear,而在中没有viewDidLayoutSubviews。
如何在显示视图(a)的视图控制器中获取子视图(b)的大小?
更新:使用自动布局
我有一个UIButton,我设置为从左边8点,从我的视图底部8点.我目前的宽度和高度设置为> = 32点.
但是,我希望按钮在较大的显示器上更大.我设计了如何设置约束以使按钮始终处于相同的宽高比(在我的情况下为方形)并始终为其父视图宽度的10%,但这意味着当设备旋转时按钮变得越来越小随着视野越来越宽,我不希望这样.我希望它是最短边的10%.
在封闭的ViewController代码中很容易获得我想要的宽度:
let buttonWidth = 0.1 * (self.view.bounds.width < self.view.bounds.height ? self.view.bounds.width : self.view.bounds.height)
Run Code Online (Sandbox Code Playgroud)
但是,我如何正确地将其应用于按钮以及故事板中应该有哪些约束?整个界面当前在故事板中定义.
我是否直接更新边界?约束?多重约束?在约束的情况下,我完全不熟悉如何在代码中处理它们.
我的故事板中有以下视图.肖像版工作没有任何问题.但我想Profile Image在景观视图中做得更小.然后底部项目获取屏幕中的空间.我需要进行AutoLayout以外的编码吗?
肖像模式
景观模式
StoryBoard视图
我遇到了自动布局问题,"无法同时满足约束".错误.
现在我已经为我的所有约束添加了标识符,但是,冲突的约束似乎不是由我创建的,因为我只在几个冲突的约束中看到了我的标识符.
我的问题是,如果我对约束有这样的描述:
<NSLayoutConstraint:0x7f8dca498410 V:[UIView:0x7f8dca493010]-(0)-[UILabel:0x7f8dca493610]>
我怎么能找出这是什么UIView以及这是哪个UILabel.我知道我可以做po 0x7f8dca493010,但是如何打印我的视图的属性,最好是打印例如我给IB中的视图的名称?
正如您在下面的屏幕截图中看到的,我有一个静态表视图单元格,其中包含三个UIImageViews.
我希望项目之间的间距是屏幕边缘和外部项目之间的间距的两倍.
间距应根据屏幕宽度动态变化(项目大小为静态).
如何使用自动布局实现此目的?
在此先感谢您的帮助.
所以我有以下视图层次结构:
我的viewController视图中的全尺寸scrollView,具有以下约束: 
这些是对containerView的约束(忽略第二个,它是我的问题的一个hacky半修复):
我有状态栏,导航栏和标签栏可见.
问题是,当我设置断点来检查scrollView的contentInset时,它在顶部显示64,在底部显示49,左和右为零.没有办法在IB中设置contentInset,我尝试在IBAction中将其设置为UIEdgeInsetZeio,但这也没有解决它.这是通过在我的contentView上方和下方添加空格来搞砸我的scrollview,我该如何解决这个问题?
我发现一些帖子描述了何时使用Auto布局和何时使用Size类之间的区别.
但我仍然无法理解这两者之间的区别.
如果任何人可以暗示差异或分享一个良好的链接.
提前致谢!
我有一个UIScrollView,在这个里面我有一个,在UIScrollView我UIView里面UIView有一些UITextField's,一些UILabel's,在底部有一个UITableView。
我想要UITableView适合它的内容高度,UIView适合它的内容高度,UIScrollView适合它的内容高度。
在UITableView我使用过程中它从添加/删除细胞的高度可能会改变。
使用它的最佳方法是什么AutoLayout?
- UIViewController
-- UIView
--- UIScrollView
---- UIView
----- UILabel
----- UITextField
----- UITextView
----- UITableView (at the bottom of the superview)
Run Code Online (Sandbox Code Playgroud)
或在xib中:
我必须在通用应用程序中显示一个imageview,它的大小应该随着每个设备中的屏幕设计而增加,而不会降低图像质量.给予imageview的图像是静态图像.如果我使用大小类使用静态宽度和高度约束它将起作用.但我不认为这是正确的方法.如果我使用宽度和高度与超视图成比例,它会增加图像高度,但图像清晰度会降低.任何建议都会有所帮助.
autolayout ×10
ios ×8
objective-c ×2
size-classes ×2
swift ×2
uiscrollview ×2
uiview ×2
ios9 ×1
storyboard ×1
uibutton ×1
uiimageview ×1
uitableview ×1
xcode ×1
xcode6 ×1