问题标签 [autoresizingmask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1141 浏览

ios - iOS: AutoresizingMask not resizing to fit map or view on screen

My views are not resizing correctly using something like:

self.someview.autoresizingMask = (UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleWidth);

Using all the possible resizing masks did not solve the problem either. I am running iOS 5.1 on my phone and 6.0 on the simulator but the result is the same either way. I have attached pictures to better describe the problem. How can I set the autoresizingMask so the view ALWAYS fills the screen?

enter image description here

enter image description here

0 投票
2 回答
187 浏览

iphone - 如何锚定相对于屏幕 iPhone 一侧的视图

我正在创建一个直接在代码中创建布局的 iOS 应用程序。我习惯使用 xib,但这不是这个项目的选择。我不知道如何定位固定在屏幕底部/侧面的元素。我正在寻找的解决方案会将其放置在纵向底部,但在旋转时会将其固定在右侧(非常类似于底部栏在相机应用程序中的工作方式)。它在纵向的屏幕底部正确,问题在于旋转

另外我正在为 iOS 5 构建,所以我需要一个不使用自动布局的解决方案。

这是到目前为止我在旋转到横向时所做的代码。这个想法是我旋转 90 度(正在工作),然后使用某种遮罩将其锚定到左侧。我在哪里错了?甚至可以锚定这样的对象吗?

示例草图

0 投票
3 回答
1945 浏览

ios - 设备旋转时如何使 UIView 阴影拉伸?

在自定义 tableview 单元格中,我正在绘制一个带有阴影的简单矩形,如下所示:

当视图首次加载时,这可以正常工作。但是,当您旋转设备时,阴影保持不变。我真的很想把它延伸到“photoBorder”的新宽度。

我可以通过删除 shadowPath 来使其工作,但 tableview 会受到明显的性能影响。

任何人都有任何关于在 UIView 上制作阴影的技巧,可以拉伸,而不会损失性能?

0 投票
1 回答
399 浏览

iphone - 视图元素自动调整大小在横向模式下不起作用

我有一个 viewController(比如,SecondViewController),其中在 xib 文件中我添加了一个视图(比如,containerView),并且我正在向该 containerView 添加另一个视图控制器视图作为子视图

& 为所有视图设置了自动调整大小掩码,如果我在纵向模式下运行我的代码,进入 SecondViewController 然后如果我改变方向,自动调整大小工作正常。如果我通过横向模式进入 SecondViewController,那么自动调整大小根本不起作用。如何克服这个问题。

0 投票
1 回答
376 浏览

uiview - UIView 的尺寸可以通过多少种方式改变?

我有一个 UIView 的自定义子类,我们称之为 BottomBox。

BottomBox 具有以下覆盖方法:

在每个中调用 [super set*:*],并记录当前和新的 CGRect,以及两者中的断点。

BottomBox 对象具有 autoresizingMask 集:

它们位于屏幕底部。

BottomBox 对象包含主 .layer 属性的子层,这些子层被转换,这些层的边界框超出了 BottomBox 对象的视图边界区域。这会导致框架/边界访问器返回调整后的边界值,我已经说明了这一点。

但是在设备方向更改后,BottomBox 对象的大小会异常调整,尽管 autoresizingMask 属性没有定义宽度或高度的灵活性。以我的经验,边界/框架的高度没有被调整,但宽度被极度扭曲。

现在,我觉得我只是误解了边界和框架的真正含义。也许,实际上,它们是根据子视图和子层为每次访问动态计算的。

我想知道是否有其他方法可以调整这些,也许我忽略了一些东西。

0 投票
2 回答
2169 浏览

ios - 将 autoResizingMask 与 CGRectZero 一起使用

我正在为 tableview 部分构建页脚。页脚的高度将在 中指定heightForFooterInSection,因此viewForFooterInSection我只想添加子视图并指定页脚视图应填充指定的任何页脚高度(此页脚大小将是动态的)。因此,我将CGRectZero其用作初始框架并告诉页脚视图展开以填充其父视图。

这按预期工作 - 表格视图的页脚完全被绿色视图填充。

但现在我想UITextView在页脚中添加一个。文本视图应填充相同的空间,但留下 5 点边框:

文本视图根本不出现,而不是填充页脚视图(有 5 磅的边距)。它可能有一个框架CGRectZero(甚至可能是-5 x -5?)。但是,如果我将插图设置为 0、0,它会按预期扩展。

对此有何解释?如果我不能CGRectZero在初始帧中使用 inset,当无法知道 footerView 的帧时,我应该使用什么?

0 投票
1 回答
203 浏览

objective-c - 自动调整大小问题

我添加了一个UIImageview作为subviewUITableViewCell.contentview它在单元格的左侧和右侧有边距。旋转设备时,Autoresizing对我不起作用。我在用:

帮我。谢谢。

0 投票
1 回答
4575 浏览

xcode - 界面生成器中未显示自动调整掩码功能?

我想处理 autoresizingmasks,但由于某种原因,我无法显示对话。我的 IB 的尺寸检查器如下所示:

在此处输入图像描述

当我单击另一个检查器(属性、连接等)时,自动调整掩码对话框/检查器会立即出现(时间不足以让我截取屏幕截图),只会被我单击的任何检查器替换. 我假设我有一些设置或其他切换需要取消切换,但是在 Xcode 周围戳一下并没有发现它,而且我在 Xcode 的其他问题中也没有发现这个问题。显然是一个非常基本的问题,但有人可以帮忙吗?

0 投票
4 回答
10520 浏览

ios - 在方向更改时自动缩放 UIView 以按比例缩放以适合父视图

设置为“Aspect Fit”的UIImage视图将自动动态缩放其图像以适应当前边界UIUmageView,同时保持图像的比例。设置为“ UIViewAspect Fit”似乎对其子视图没有同样的效果。

我尝试使用下面的代码通过代码设置父视图,并尝试了自动调整大小掩码的几种变体(我没有使用自动布局)。我是否遗漏了一些明显的东西,或者我是否需要编写一些代码来根据父视图的当前大小为我的子视图计算正确的比例?

0 投票
1 回答
913 浏览

ios - 如何解决 UIView autoresizingMask 设置正确但无法解决?

希望以下提供所需的一切。

在我的应用程序中有一行调整父视图的框架,并且根据我对 autoresizingMask 的期望,受影响的子视图没有以适当的方式响应。

viewController.view 子视图有 1 个子视图,所有边距都调整大小,框架为 0,0,320,270。

viewController.view 的 frame = 0,0,320,276

将 viewController.view 的大小调整为 0,64,1024,704 后

一个subview卡在底部,效果基本和subview没有灵活的底边距一样。

352,434,320,270。大小合适,没有调整大小。但是从它的superview顶部向下434点,加上高度270,=704,即superview的高度。

我希望 270 子视图高度和 704 之间的 434 差异在顶部和底部边距之间保持平衡。

但是顶部和底部边距都被指定为调整大小。我很困惑。可能是我的代码盲了,这很容易。

当一个边距为零但另一个边距不为零时,这可能与一些特殊处理有关。以前从未尝试过这种情况。

po [viewController.view 子视图]

(id) $1 = 0x09696340 <__NSArrayM 0x9696340>(

< UIView: 0x9695790; 帧 = (0 0; 320 270); 自动调整大小 = LM+RM+TM+BM;层=<CALayer:0x96957f0>>

)

(lldb) po viewController.view

(UIView *) $2 = 0x09695ab0 < UIView: 0x9695ab0; 帧 = (0 0; 320 276); 自动调整大小 = W+H;层=<CALayer:0x9695b10>>

然后一行代码改变superview:

(lldb) po viewController.view

(UIView *) $3 = 0x09695ab0 < UIView: 0x9695ab0; 帧 = (0 64; 1024 704); 自动调整大小 = W+H;层=<CALayer:0x9695b10>>

(lldb) po [viewController.view 子视图]

(id) $4 = 0x09696340 <__NSArrayM 0x9696340>(

< UIView: 0x9695790; 帧=(352 434;320 270);自动调整大小 = LM+RM+TM+BM;层=<CALayer:0x96957f0>>

)

编辑-

问题可能是我不知道的另一个属性。也许像自动布局或约束之类的东西,但自动布局已关闭。此外,superview 不是自定义 UIView 子类,在 layoutSubviews 中有一些花哨的东西。这都是简单的 UIKit 东西。