问题标签 [uiviewcontroller]
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.
iphone - 多个视图控制器,我搞砸了吗?
当我第一次启动这个 iPhone 应用程序时,我还是个初学者,所以我从示例中获取代码。
我有 4 个视图 (UIView) 和 4 个视图控制器 (UiViewContorllers)。它们都位于 Interface Builder 中的同一级别。
UiViewA 是主菜单,它有按钮,按下时通过 addSubView:ViewB(c/d/etc) 加载 ViewB,C,D。现在我遇到了一个问题,即只有 ViewA 的 ViewController 正在获取所有消息和通知。
我在这里搞砸了吗?我不应该直接从 ViewA 添加 ViewB、C、D 的子视图吗?我应该一直加载 ViewController 吗?
我有什么解决办法?
到目前为止,如果我想要旋转,我一直在直接转换其他视图。
任何帮助表示赞赏
iphone - self.tabBarItem.title 不工作?
在我的 iPhone 应用程序中,我有一个标签栏。此选项卡栏包含一个 UINavigationController。我有:
- 在 Interface Builder 中,将选项卡项标题设置为“新建”
- 在 UINavigation 控制器中,我拥有
self.tabBarItem.title = 'Create New';
和self.title = 'Create New';
- 在 UIViewController 推到控制器上: self.tabBarItem.title = 'Create New'; 但是
self.title = 'Blah';
。
但是,总是会显示推到导航控制器上的第一个视图控制器的 self.title (Blah)。您将如何设置标签栏项目的标题?谢谢,艾萨克·沃勒
iphone - 如何以编程方式启动/处理 iPhone 的视图?
我没有使用标签栏或任何其他控件——我基本上想动态地将当前视图更改为不同的视图控制器(即通过代码)。我根本没有使用界面生成器...
例如,假设我们创建了三个视图控制器:
(这可能不是最好的例子,但我试图让它简单化)
View_Hello.m(和 .h)
View_Goodbye.m(和 .h)
View_Ciao.m(和 .h)
我们的 ViewerAppDelegate 将启动 View01_Hello。
View_Hello 将有一个自定义的触摸方法,如果滑动则需要转到 View_Ciao,但如果只是触摸则需要转到 View_Goodbye。
关于我如何做到这一点的任何想法(请不要说“哦,您需要在此示例中使用 xxx 界面元素”。我需要能够在应用程序的视图中基于程序控制随机更改视图正在努力)
过去一周我一直在浏览 Google 和 StackOverflow,并浏览了我的三本 O'Reilly Cocoa 书籍(外加三本 iPhone 开发人员书籍),所有这些都只是使用简单的界面——但没有像我这样的例子正在尝试做。
===========
编辑(@Andrew Grant):
例如:
这崩溃了。:-)
==============
编辑(@丹尼尔迪克森)
太棒了——成功了!
objective-c - 让视图控制器消失
我正在尝试一个多视图应用程序,但是当我引入新的视图控制器时,我似乎无法让第一个视图控制器消失。我将第二个(即将到来的)视图控制器放置在索引 0 处,它只是将它放在后台。我认为 [going.view removeFromSuperview] 会删除原来的视图控制器,但事实并非如此......
iphone - iPhone横向应用程序视图轴混乱
使用此处的信息:iPhone Landscape-Only Utility-Template Application我能够启动、使用和维护我的视图仅作为横向。但是,我对轴感到困惑。
绝对轴的行为符合预期,意味着 (0,0) 是左上角,(240,0) 是顶部中心,(0,320) 是左下角,等等。但是,当我尝试进行与我正在绘制的视图我发现 x,y 的方向就像左上角的肖像是原点一样。所以要在我的视图控制器的中心点绘制一些东西,我需要做:
我假设这是因为我的控制器 self.view 引用的 UIView 给出了相对于它的封闭框架的值,这意味着在纵向模式下其轴原点位于左上角的窗口。
有没有一些简单的方法来解释我错过的这一点?
文档表明 transform 属性正是我正在寻找的,但是,我在这里遇到了进一步的困惑。涉及3个基本属性:
- 框架
- 界限
- 中央
如果我在 viewDidLoad 中这样做:
现在根据参考文档,如果未将变换设置为身份变换 self.view.frame 未定义。所以我应该使用边界和中心。
self.view.center 现在是正确的,因为我将它设置为我想要的。self.view.bounds 看起来没有改变。self.view.frame 似乎正是我想要的,但如上所述,参考声称它是无效的。
因此,虽然我可以得到我认为正确的数字,但我担心我忽略了一些关键的东西,以后会变得麻烦。
谢谢。
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 加载到一个控制器中?
objective-c - 访问在 Interface Builder 中创建的视图
我创建了一个 ChildViewController 类,然后创建了一个使用该类的 nib。
然后我创建了一个 BaseView,其中包括一些按钮和一些我将以编程方式更改的文本。
然后我创建了另外两个视图(男孩和女孩),我希望能够将它们放在基础视图后面,以便背景颜色与 ImageView 中的一些图形不同。我将在 IB 中创建的视图命名为“男孩”和“女孩”...
但是当我回到调用 ChildViewController 的代码时,我不确定如何访问我创建的视图,因此我可以调用 insertSubView。我需要在代码中实例化它们吗?(也许在 ViewDidLoad 中?)笔尖在加载时会创建实例吗?
我对如何处理单个 ViewController 的多个视图感到困惑
编辑=================
@巴勃罗圣克鲁斯
您的回答假设我有两个笔尖和两个视图控制器(每个视图一个)。我想知道我是否可以使用一个笔尖和一个控制器,并加载 UIViews。创建另一个笔尖和控制器似乎很愚蠢,而所有想做的只是改变背景颜色和一些图形。我不能以编程方式将 UIViews 加载到 UIViewController 中吗?
iphone - 横向模式下的 tabBarController 和 navigationControllers,第二集
我有一个 UITabBarController,每个选项卡处理一个不同的 UIViewController,它根据需要推送堆栈新控制器。在其中两个选项卡中,当到达特定控制器时,我需要旋转 iPhone 并在横向模式下可视化视图的能力。经过一番挣扎后,我发现必须将 UITabBarController 子类化以覆盖 shouldAutorotateToInterfaceOrientation。但是,如果我在实现中简单地返回 YES,则会出现以下不良副作用:
旋转 iPhone 时,每个选项卡中的每个控制器都会自动进入横向模式。
即使在每个控制器中覆盖 shouldAutorotateToInterfaceOrientation 以返回 NO 也不起作用:当 iPhone 旋转时,控制器处于横向模式。
我在子类 UITabBarController 中实现了 shouldAutorotateToInterfaceOrientation 如下:
这样只有我感兴趣的两个选项卡才能真正获得对横向模式的支持。有没有办法支持特定选项卡堆栈上特定控制器的横向模式?
我试过了,但没有成功,比如
(BOOL)应该自动旋转到接口方向:(UI接口方向)接口方向{
}
另外,我尝试使用委托方法 didSelectViewController,但没有成功。任何帮助是极大的赞赏。谢谢你。
cocoa-touch - 子视图运行但不显示
从绑定到 UIView(在 nib 文件中绘制)的 UIViewController 开始,我尝试添加另一个视图,作为第一个视图的子视图。
如果您感到困惑:UIViewController -> UIView + GraphView(扩展 UIView)
所以我说:
我也试过了insertSubview
。
UIView 出现并且 GraphView 子视图被正确实例化(它的属性在那里,我可以访问它的方法)。但它从不显示在屏幕上!
它的drawRect
方法永远不会被调用(我有一个NSLog
从不显示的方法),即使我手动调用[graphView setNeedsDisplay]
.
有人有线索吗?
非常感谢!!!
iphone - 定位 UITableView 滚动的 UIView
如果启用了滚动,我正在尝试获取 UITableView 滚动的 UIView。通常,背景是白色的,如果你将 UITableView 推出它的边界,你会看到一个背景。我正在尝试将此背景设置为 blackColor 的 UIColor。我似乎找不到合适的标签。我在 UIViewController 中尝试了以下代码:
颜色仍然保持白色。似乎我打错了 UIView。
任何想法?谢谢。