问题标签 [superview]

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 投票
2 回答
31287 浏览

iphone - 以编程方式创建一个视图,将框架设置为超级视图的框架?

我有一个基于导航的应用程序,我将自定义视图放置在导航视图中。

首先,我想知道如何获取“导航视图”的框架,以便我可以将自定义视图正确放置在上面。
此外,我有时会隐藏导航栏并希望确保正确获取框架信息。(不使用 [[UIScreen mainScreen] bounds] )

其次,一般来说,我如何访问超级视图的框架以便我可以相应地放置视图?
我尝试了以下但没有成功。

或在 layoutSubviews 中设置框架,但注意到 layoutSubviews 没有被调用。我想那是因为我在这个特定视图中没有任何子视图?

谢谢

-编辑-

有了给定的答案,我现在知道我需要将 view.frame 设置为 superview 的边界。
问题是我无法访问 viewDidLoad 中的超级视图。
我可以看到在 viewWillAppear 中正确设置了 superview,但在 viewDidLoad 中却没有。

我发现 viewDidLoad 会在不同的时间被调用,例如当 pushViewController 推送或访问 self.view 时,
我有以下代码,并且 viewDidLoad 是从 nil == controller.view.superview 调用的。

由于我无法从 viewDidLoad 访问 superview,因此我无法像之前在 viewDidLoad 中那样布局视图。这似乎很不方便,而且不必要地复杂。
请问有什么建议吗?

0 投票
2 回答
966 浏览

iphone - 您如何以编程方式创建视图并根据超级视图设置它的框架?(苹果手机)

我完全迷失了 superview、loadView()、viewDidLoad()、viewWillAppear()。

最终,我想将控制器的框架设置为超级视图的边界,并在我的 viewDidLoad() 中使用 [self.view bounds]。(也许这是不可能的?)

这是让我悲伤的代码片段..

显然,nil == controller.view.superview 调用了控制器的 viewDidLoad。

我曾经访问 [self.view bounds] 并在我的 viewDidLoad 中使用它
由于我想在将其添加到 superview 后设置视图的框架,我想我需要将利用 [self.view bounds] 的代码移动到其他地方。
什么地方适合搬家?还是有更好的方法?

0 投票
2 回答
2034 浏览

iphone - 隐藏超级视图而不隐藏其子视图

一般来说,我知道有解决方法,但是iOS SDK中有没有简单的方法来隐藏超级视图而不隐藏它的子视图?

我有一个父视图,它是其他一些视图的背景。我想通过将其透明度设置为 0 或设置“隐藏”或其他方式隐藏父级 - 问题是这些更改会影响父级的所有子视图。

再一次,我意识到通常有办法解决这个问题,但在这种情况下,我正在处理一个 mapView,而我的子视图是注释和覆盖。

谢谢,-马特

0 投票
1 回答
106 浏览

iphone - 为什么用户定义单元格的 UITextField 和单元格视图之间有这么多控制器

我想在我的用户定义的单元格上获得 UITextField 的父视图。我尝试过的只是调用 superview 方法,它返回 UIView,而不是我的单元格视图。所以我多次调用superview。

UITextField -> UIView -> UITableViewCellContentView -> MyCellView

还有两个意想不到的景象。那些是什么,为什么?

添加描述。)我已经制作了自己的单元格,并且有一个 UITextField。

0 投票
2 回答
2774 浏览

iphone - 如何在 iPhone App 中抢到最高级别的 Superview?

我希望能够获取应用程序的主 UIView。到目前为止,我一直在调用 [[[self.view superview] superview] superview] 来遍历链(或向下,取决于你如何看待它)。这样做的问题是,我可能无法绝对确定我需要升级的级别数。有没有办法:

  1. 直接转到 iPhone 应用程序中的最高级别 UIView?

或者,如果不是,

  1. 查看当前superview是否是app中最高级别的UIView?
0 投票
1 回答
999 浏览

iphone - (iphone) 从滚动视图中分离视图并将其添加到另一个视图时如何设置 view.center?

我想将视图从滚动视图移动到 uiview。

我无法更改它的中心(或框架),使其保持在屏幕中的相同位置(但在不同的视图中,可能是滚动视图的超级视图)。

我应该如何转换视图的中心/框架?

谢谢你。

编辑:

自从我加入以来,我也可以使用(NSSet*)触摸touchesBegan
我很难让它工作,但文档对我来说不是那么清楚。

0 投票
3 回答
3574 浏览

cocoa - 从视图中删除按钮

有没有办法清除所有按钮的视图?我的代码每秒生成按钮,我制作了一个按钮,我想将它们全部从屏幕上清除。当我尝试[brick.removeFromSuperview](brick 是按钮的名称)时,它只删除了最后一个生成的按钮。

0 投票
3 回答
49999 浏览

ios - 访问当前视图的父视图 - iOS

当我想访问UIViewcurrent的父对象时,我在 current 中UIView声明 parent 的对象并通过将父对象分配给当前视图的 object 属性来访问它。UIViewUIViewUIView

有没有办法摆脱这个并直接调用父视图的方法或属性?

我也试过(parentView *) self.view.superview但没有帮助。

调用此对象的函数时出错

0 投票
2 回答
1841 浏览

objective-c - self.view / super.view

有什么区别

谢谢你!!

法兰胡

0 投票
2 回答
4165 浏览

iphone - (iphone)将子视图的框架设置在超视图的范围之外?

我注意到我可以将子视图放在超级视图的范围之外(部分或全部)。
我想知道这是否可以接受,因为这在通常的 iphone 视图编程中似乎是不正常的。

谢谢你。