为iOS中的UIImageView设置内容模式

时间:2015-08-22 03:56:26

标签: ios uiview uiimageview contentmode

This answer显示了设置UIImageView content mode的各种效果。

由于UIView在Interface Builder中也有内容模式设置,我想知道为什么设置它不会影响其中的任何子视图。

这是我尝试过的一个例子。蓝色视图为UIView,黄色视图为UILabel

enter image description here

但如果我将UIView的模式设置为Top,则标签会保留在同一位置。

enter image description here

内容模式是否仅适用于UIImageViews?如果它对UIViews不起作用,为什么它甚至在那里呢?

1 个答案:

答案 0 :(得分:3)

<html> <head> </head> <body onload="readfileautomatically();"> <div id="line1"></div> <div id="line3"></div> <script> function readfileautomatically () { var client = new XMLHttpRequest(); client.open('GET', '/foo.txt'); client.onreadystatechange = function() { if( client.responseText != '' ) { var txt = client.responseText.split("\n"); document.getElementById("line1").innerHTML = txt[0]; document.getElementById("line3").innerHTML = txt[2]; } } client.send(); } </script> </body> </html> 仅修改视图&#39;内容而非其子视图&#39;。因此,如果您有自定义视图并在contentMode中绘制内容,则每次更改视图的drawRect时都会看到它会发生变化。

现在在contentMode的情况下,图像实际上是视图的内容(在UIImageView内部绘制),因此当您更改{{1}时,您可以看到图像发生变化您的UIImageView。