问题标签 [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 回答
711 浏览

ios - Xcode Interface Builder 在方向更改时自动调整视图大小

我的视图控制器内容由 3 个视图组成。我在 Xcode4 上使用界面生成器。在纵向模式下类似的东西:( 来源:gyazo.com在此处输入图像描述

我需要在方向更改为横向时自动调整此内容的大小:视图 2 具有恒定宽度,1 和 3 视图必须增加横向模式的宽度才能与视图 2 具有接近的边界。

是否可以通过界面构建​​器自动调整掩码来实现此行为?

0 投票
1 回答
1096 浏览

iphone - Objective-C:AutoresizingMask + 2 Subviews = 挣扎


解决方案:对于那些在未来某一天看到这个的人来说,我使用的解决方案确实是viewDidLayoutSubviews. 解决方案实际上相当复杂——每次页面需要重新布局时,我都必须计算几个缩放值并动态调整艺术视图的大小。有几个奇怪的问题需要处理,但在每个都被取消之后,实施感觉非常可靠。

如果以后有人遇到类似问题,请告诉我,我可以发布相关代码。


我有一个“空白”UIView,一个子视图是一个包含单个图像的 UIImageView,第二个子视图基本上是 CGContext 弧线和所有这些的集合。

我在哪里:我将 UIImageView 子视图放在 UIView 的顶部,以便它的图像是“背景”。然后我将 CGContext arcs andlines 子视图放在上面(为了清楚起见,我将其称为 Art 子视图)。都好。一切都显示完美且对齐。

问题:当我旋转时,事情变得很糟糕。Art 子视图上的弧线和线条最终位于错误的坐标处,并且根据我的 autoresizingmask 设置,图像会被拉伸等。我可以一次修复其中一个问题,但我找不到正确的组合来修复他们俩!

我尝试过的事情:我已经尝试了几乎每个 autoresizingMask 选项和选项组合,但是根据上述我不能完全解决这些问题。鉴于我还尝试在 viewDidLayoutSubviews 中使用一些自定义代码,但这感觉非常脆弱,与使用 autoresizingMasks 相比,可扩展性要差得多。所以我在取得了一些名义上的进步后放弃了这条道路。

我学到了什么:只要我将 UIImageView 框架和 Art 子视图框架绑定到相同的尺寸,那么弧线和线条就会保持在正确的坐标上。这可能是陈述我的目标的最简单方法:让 UIImageView 保持正确的纵横比(不仅是其中的图像,还包括视图本身),然后将 Art 子视图与其框架完全匹配——即使是屏幕旋转等

这是我想要实现的图表:

+= UIView

~= UIImageView 子视图

.= 艺术子视图

肖像

其中 UIImageView 中的图像基本上占据了整个屏幕(虽然不完全),并且 Art 子视图在其顶部分层,下面的点代表粗线/弧线。

景观

其中 UIImageView 子层保持其纵横比,而艺术子层保持“锁定”到 UIImageView 中的图像。

我的视图控制器(我认为问题所在 - 还删除了所有 autoresizingMask 设置以清理代码)

resizeImageForScreen: 方法(这似乎工作正常,但我想我还是会包括它)

0 投票
0 回答
518 浏览

iphone - UIButton 自动调整大小问题

试图让 UIButtons 在设备旋转时降低高度但保持宽度。initWithFrame:这是包含按钮的视图的代码。

父视图.m

问题:在我旋转设备之前,按钮已经调整大小并且变得比我初始化它们的框架更小(高度)。

以前的研究:看起来我和这个人有同样的问题:Cannot get UIButton autoresizingMask to work,但我听从了建议,得到了同样不满意的结果。

我还查看了苹果文档,其中说自动调整大小的掩码只应该在父视图的边界发生变化时生效。显然,要么我的父视图的界限在我没有意识到的情况下发生了变化,要么这里发生了其他可疑的事情。

关于可能是什么问题的任何想法?

0 投票
1 回答
718 浏览

ios - 在滚动视图中自动调整自定义视图的大小

我创建了一个从 xib 文件加载的自定义视图,如下所示:

当设备方向发生变化时,我现在遇到一些子视图的自动调整大小和定位问题。这些屏幕截图描述了行为。

viewDidLoad 之后一切看起来都很好:

在此处输入图像描述

旋转到横向模式后,布局仍然很好:

在此处输入图像描述

但是当旋转回纵向时,它看起来像这样:

在此处输入图像描述

如果我在单视图虚拟项目中测试它们,相同的文件 .h、.m 和 .xib 可以正常工作。所以我认为,在xib中定位和调整大小的设置是可以的。我的应用程序的不同之处在于,该视图位于具有其他几个视图的滚动视图上。在方向更改时,我会更改所有这些视图的大小,以便按预期布局所有内容。相关代码是最里面的for循环:

任何想法,第二个方向改变出了什么问题?我可以手动布局整个视图,但我认为自动调整大小功能也可以。

0 投票
1 回答
549 浏览

ios - iOS:旋转视图,按钮的渐变层不会自动调整大小

我有一个nextbutton在视图中调用的 UIButton。我已经autoresizingInterface Builder. 在 中viewDidLoad,我调用这个方法来为这个按钮设置渐变。gradientLayer非常适合应用程序的nextbutton纵向模式,但是,它不适合横向模式。对此有何建议?多谢。

0 投票
1 回答
346 浏览

ios - iPad - UITableView 的自动调整大小

我的代码在这里:

我在 iPhone 上的 _contentView 和 self.view 上的 _contentView 添加了一个 tableview 没有问题,但是在 iPad 上我不知道为什么当我为 table view 设置自动调整掩码时,它会增加宽度和高度......没有自动调整掩码很好用,但我需要为风景自动调整蒙版。如何解决这个问题?

带有自动调整大小的蒙版 带有自动调整大小的蒙版 没有自动调整大小的蒙版 没有自动调整大小的蒙版

0 投票
1 回答
969 浏览

iphone - 增加帧的自动调整蒙版问题 - iOS

我创建了一个对角线 UIView,在所有四个边缘的所有角落和中心都有八个子视图。

所有红点都可以拖动以调整菱形的大小。

所有子视图在对角线 UIView 中添加一次,请参见图像 Screen1.. 在此处输入图像描述

现在我不想通过 Diamond View 的框架,所以它可以管理中心和红点的框架。我需要使用 Autoresizemask 进行管理,所以我不需要在增加或减少时通过每个时间帧。

这是为菱形创建红点的代码..

在这里,我发布了一些图片,同时增加了菱形形状,一些红点有奇怪的行为..

这是在 Screen2 中显示的所有红点的所有 Autoresize 蒙版列表。

在此处输入图像描述

四个角红点工作正常..但四个中心边缘红点工作不完美..让我展示一些屏幕..

在此处输入图像描述 在此处输入图像描述

让我知道你解决这个问题的想法..

请记住,我不想通过任何框架或中心,只需使用 Autoresize Mask 进行管理。.

了解 AutoresizeMask 链接的有用链接

问候,

0 投票
1 回答
661 浏览

cocoa - 通过 -setFrame 以外的方式设置的 NSView 框架:在自动调整大小之后

我的应用程序通过NSWindowController. 在-windowDidLoad中,我根据窗口大小以编程方式设置按钮的框架,这取决于哪些按钮可见)。在 XIB 中为这些按钮适当地设置了自动调整大小的蒙版。问题是当窗口实际出现时,按钮看起来好像没有应用自动调整大小。

在调试这个问题时,我在调用 super's 后NSButton继承并覆盖-setFrame:以打印 frame ( ) 。使用它,我观察到框架设置了两次:首先是通过我的编程布局代码(调用此框架 A),然后一旦 Cocoa 根据用户偏好调整窗口大小(应用自动调整大小掩码,将框架设置为 B)。这些框架看起来都正确。[self frame]-setFrame:

然而,当窗口出现时,就好像后一个-setFrame:调用没有持久的效果——按钮的框架现在回到了 A。这通过在调试器中中断并打印框架来验证——自动调整框架的更新已经恢复,但-setFrame:再也没有被叫过。

关于我为什么会看到这种行为的任何想法?

0 投票
0 回答
136 浏览

objective-c - 如何在Objective C中编写setAutoresizingMask之类的代码

当谈到按位操作时,我很天真,所以想知道如何编写 UIView 类的 setAutoresizingMask 方法之类的代码。

我希望能够创建一种方法,允许我传入用 | 分隔的枚举。(管道?)字符。

0 投票
7 回答
13215 浏览

ipad - 无法在 iOS 6 中处理方向?

我在用

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

委托根据方向类型更改我的视图框架

IE,

如何在 iOS 6 中处理与

在 iOS6 中已被弃用。

我正在使用以下委托来设置所有方向。

但,

没有被调用。如何处理这种情况?

在此处输入图像描述