问题标签 [uiview]

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 投票
5 回答
14464 浏览

iphone - 如何覆盖 UIViewController 中的“视图”属性?

我有一个自定义 UIViewController 和自定义 UIView。我想覆盖 viewcontroller.view 属性以返回 MyCustomUIView。

现在我有:

这可以编译,但我收到警告:属性“视图”类型与超类“UIViewController”属性类型不匹配。

如何缓解此警告?

0 投票
4 回答
3481 浏览

ios - 以编程方式访问在 Interface Builder 中添加的 UIView 的子视图

我有一个 nib 文件,其中有一个视图,其中包含一个背景图像、一个按钮和另一个覆盖全屏的图像(阴影),需要移动到前面。在视图上,我正在创建子视图,在创建并添加它们之后,[self addView]我需要将阴影图像移到前面。

我目前正在使用 tag 属性来查找该视图,但我认为可能有更好的方法,方法是通过某个名称识别我在 Interface Builder 中添加的子视图。

我尝试添加一个 IBOutlet 以将子视图与其父级连接,但它不起作用(并且没有任何意义,因为子视图已经以某种方式连接到其父级)。

0 投票
3 回答
820 浏览

iphone - 让视图临时扩展以填满 iPhone 屏幕的最佳方式

我有一个库,它以编程方式构造一个 UIView 来展示我的自定义行为。这个库可以放入视图层次结构中不同位置的许多不同应用程序中。在某些情况下,视图需要“扩展”以填充屏幕空间。我目前正在这样做,让我的代码遍历视图层次结构,直到找到没有父视图的视图,构造一个新视图并将其作为找到的视图的子视图插入,然后在两者之间执行动画转换。退出该新视图只是隐藏它的问题,它会恢复以前的状态。

我有两个问题。

  1. 有一个更好的方法吗?(特别是,我不太喜欢像那样遍历视图层次结构。)
  2. 这种方法会发生什么坏事?例如,可能出错的一件事是,之前显示的视图不知道这已经发生,因此可能会出现异常行为。(这可以通过为这种行为发明一个委托协议或使用我目前不知道的现有协议来解决。)

显然,这里的目标是要求包含的应用程序/视图/控制器尽可能少地做,而不是创建一个矩形并构造我的视图的控制器。

0 投票
1 回答
667 浏览

iphone - 如何找出我正在触摸的视图的标签

我无法确定我正在触摸的视图的标签。

我有一个滚动视图并将其子类化以捕获触摸事件(我在子视图上有图片)。但是,我需要确定我触碰了哪张图片。

我想确定子视图的标签,但我得到随机结果(主要是标签 0)。捕捉这个的正确方法是什么?

0 投票
7 回答
39502 浏览

iphone - 如何判断 UIView 是否在前面(可见)?

我需要检测哪个视图在前面(当前可见)。我怎样才能做到这一点?

这是我想做的事情:

0 投票
1 回答
969 浏览

objective-c - UIViewControllers 和 UIViews...如何构建一个简单的应用程序

我对需要多少个控制器以及何时可以将 UIViews 加载到同一个控制器中而不是为两个单独的 UIViews 使用两个控制器感到有些困惑。

这是我目前的情况。我有一个简单的应用程序,它在开始屏幕上接收信息,然后根据来自用户的信息(通过 UIPicker 和文本字段),它将翻转动画显示到一个新视图,该视图是以下两种选择之一:ViewA 或视图 B。

现在,我有一个根控制器 GenController.view 在启动后加载到 UIWindow 中。然后在GenController中,在ViewDidLoad方法中,我创建了另一个控制器GetInfoController的实例,并将Subview插入到self.view中,此时self就是GenController的原始实例。

getInfoController 接收信息,对用户条目执行一些逻辑,然后相应地加载 ViewAController 或 ViewBController 的实例。

ViewAController 和 ViewBController 非常相似,只是 UIView 看起来略有不同。用户与屏幕的交互将是相同的。

我觉得 1)GenController 和 GetInfoController 应该是一样的,但我不确定如何集成它们。我是否将 GetInfoController 直接加载到 UIWindow 中?那我需要在 ViewDidLoad 中做任何事情吗?2) 我应该有一个 viewXController 而不是一个用于 ViewA 和 ViewB 的吗?...如何根据 GetInfo 中的逻辑将不同的 UIView 加载到一个控制器中?

0 投票
3 回答
1906 浏览

objective-c - 访问在 Interface Builder 中创建的视图

我创建了一个 ChildViewController 类,然后创建了一个使用该类的 nib。

然后我创建了一个 BaseView,其中包括一些按钮和一些我将以编程方式更改的文本。

然后我创建了另外两个视图(男孩和女孩),我希望能够将它们放在基础视图后面,以便背景颜色与 ImageView 中的一些图形不同。我将在 IB 中创建的视图命名为“男孩”和“女孩”...

但是当我回到调用 ChildViewController 的代码时,我不确定如何访问我创建的视图,因此我可以调用 insertSubView。我需要在代码中实例化它们吗?(也许在 ViewDidLoad 中?)笔尖在加载时会创建实例吗?

我对如何处理单个 ViewController 的多个视图感到困惑

编辑=================

@巴勃罗圣克鲁斯

您的回答假设我有两个笔尖和两个视图控制器(每个视图一个)。我想知道我是否可以使用一个笔尖和一个控制器,并加载 UIViews。创建另一个笔尖和控制器似乎很愚蠢,而所有想做的只是改变背景颜色和一些图形。我不能以编程方式将 UIViews 加载到 UIViewController 中吗?

0 投票
2 回答
275 浏览

iphone - 构建“按钮”的视觉网格

我正在尝试设计如何实现一个相对简单的应用程序。

我想创建一个覆盖整个屏幕的“正方形”网格。每个方块都应该有能力响应触摸事件,然后有一个开/关状态。例如,如果我触摸一个“关闭”方块,然后将手指拖过其他 10 个方块,我希望它们都打开。反之亦然。

我不确定仅仅创建一个包含 150 个按钮的网格的内存开销。据我所知,按钮也没有可设置的状态。我也在考虑继承 UIView 并实现 UIResponder 方法。感觉我应该创建一组按钮数组(或 UIView 的子类),但我不确定这是否可能。

我假设我可以通过从 UIResponder 方法获取 touchevent 的位置来判断我在哪个方格上。我是否需要通过子类化 UIView 创建我自己的 myButton 版本,并拥有一个开/关状态属性以及 UIResponder 方法,然后创建一个 myButtons 数组?

0 投票
2 回答
2697 浏览

objective-c - 子视图未显示在 UIView 类中

我正在尝试使用 addSubview 在代码中布置一些图像,但它们没有显示出来。

我创建了一个子类UIView的类(myUIView),然后将IB中的nib文件的类更改为myUIView。

然后我输入了以下代码,但仍然得到一个空白的灰色屏幕。

0 投票
1 回答
725 浏览

cocoa-touch - 子视图运行但不显示

从绑定到 UIView(在 nib 文件中绘制)的 UIViewController 开始,我尝试添加另一个视图,作为第一个视图的子视图。

如果您感到困惑:UIViewController -> UIView + GraphView(扩展 UIView)

所以我说:

我也试过了insertSubview

UIView 出现并且 GraphView 子视图被正确实例化(它的属性在那里,我可以访问它的方法)。但它从不显示在屏幕上! 它的drawRect方法永远不会被调用(我有一个NSLog从不显示的方法),即使我手动调用[graphView setNeedsDisplay].

有人有线索吗?

非常感谢!!!