相关疑难解决方法(0)

如何在Objective-C中添加具有自己的UIViewController的子视图?

我正在为拥有自己的子视图而苦苦挣扎UIViewControllers.我有一个UIViewController视图(浅粉色)和两个按钮toolbar.我希望在按下第一个按钮时显示蓝色视图,按下第二个按钮时显示的黄色视图.如果我只是想显示一个视图,应该很容易.但蓝色视图将包含一个表,因此它需要它自己的控制器.那是我的第一课.我从这个SO问题开始,我知道我需要一个控制器用于表.

所以,我要支持并采取一些婴儿步骤.下面是我的Utility ViewController(主视图控制器)和另外两个控制器(蓝色和黄色)的简单起点图片.想象一下,当ViewController首次显示Utility (主视图)时,将显示粉红色视图所在的蓝色(默认)视图.用户可以单击两个按钮来回移动,粉红色视图将永远不会显示.我只想将蓝色视图移到粉红色视图的位置,将黄色视图移到粉红色视图所在的位置.我希望这是有道理的.

简单的故事板图像

我正在尝试使用addChildViewController.从我所看到的,有两种方法可以做到这一点:容器视图storyboardaddChildViewController编程.我想以编程方式进行.我不想使用NavigationController或Tab栏.我只想添加控制器,并在按下相关按钮时将正确的视图推入粉红色视图.

下面是我到目前为止的代码.我想要做的就是显示粉红色视图所在的蓝色视图.从我所看到的,我应该能够addChildViewController和addSubView.这段代码不适合我.我的困惑是让我变得更好.有人可以帮我看到粉红色视图所在的蓝色视图吗?

除了在viewDidLoad中显示蓝色视图外,此代码不用于执行任何操作.

IDUtilityViewController.h

#import <UIKit/UIKit.h>

@interface IDUtilityViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIView *utilityView;
@end
Run Code Online (Sandbox Code Playgroud)

IDUtilityViewController.m

#import "IDUtilityViewController.h"
#import "IDAboutViewController.h"

@interface IDUtilityViewController ()
@property (nonatomic, strong) IDAboutViewController *aboutVC;
@end

@implementation IDUtilityViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.aboutVC = [[IDAboutViewController alloc]initWithNibName:@"AboutVC" bundle:nil];
    [self addChildViewController:self.aboutVC];
    [self.aboutVC didMoveToParentViewController:self];
    [self.utilityView addSubview:self.aboutVC.aboutView];
}

@end
Run Code Online (Sandbox Code Playgroud)

- - - - …

objective-c uitableview uiviewcontroller uicontainerview

53
推荐指数
2
解决办法
3万
查看次数

故事板 - 在同一个ViewController的storyboard中创建多个视图

我正在使用故事板设计一个iPad应用程序.我有ViewController一个观点.我的问题是,当管理员看到该屏幕时,他应该看到某个视图,而当用户看到该屏幕时,他应该看到另一个视图.我以为我应该为同一个屏幕创建两个视图,并根据谁记录它来加载适当的视图.但是,虽然我可以XIB在以前的iOS版本的文件中执行此操作,但故事板不允许我在外部创建视图,ViewController因此我无法设计多个视图.

我的问题是:

  1. 我们可以在故事板中为同一个设计两个视图ViewController吗?如果是,那怎么样?
  2. 我需要并排看到两个视图,以便我可以单独更改它们.将它们作为主视图的子视图将在运行时加载两个视图.我希望能够只加载其中一个视图,具体取决于谁登录.

在此先感谢您的帮助

storyboard ipad

14
推荐指数
1
解决办法
3363
查看次数

故事板崩溃 - 符合编码的关键sceneViewController

我在iOS 5中使用Storyboard进行间歇性崩溃.当我尝试使用Storyboard中的视图控制器实例化一个新对象时,我经常会得到一个SIGABRT.这似乎是一个非常普遍的错误,但我找不到其他人看到这个.谢谢你的帮助!

SectionLandscapeViewController *sectionViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"SectionLandscapeViewController"];
Run Code Online (Sandbox Code Playgroud)

崩溃......

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIProxyObject 0xa0fba20> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key sceneViewController.'
Run Code Online (Sandbox Code Playgroud)

key storyboard uiviewcontroller ios5

13
推荐指数
1
解决办法
3001
查看次数

在故事板中创建独立视图以便以编程方式使用

我正在尝试创建和设计一个UIView使用故事板,但以UIActionSheet编程方式包含它.这基本上是为了避免使用带有像素的CoreGraphics定位功能

在旧的xcode中,我记得可以在没有任何控制器的情况下将UIView拖到笔尖上.

该视图显然必须连接到类,因此它将具有IBOutlet,但不会被添加到 self.view

让我觉得这应该是可能的一件事是,如果你将UIView拖入故事板中的控制器黑条,它会像这样弹出到位:

掠过UIView

但它没有在屏幕上显示.这个功能是什么?我可以以某种方式打开这个视图并设计一下吗?

xcode objective-c ios uistoryboard

13
推荐指数
2
解决办法
2万
查看次数

在最新的xcode 5中分别添加到故事板中的UIViewController后看不到UIView

我已经在xcode 5的故事板中将UIView拖放到UIViewController,它已被添加,但我无法在故事板中看到UIView.有人有解决方案吗?

在以前版本的xcode中,我确实使用以下链接描述的过程: - /sf/answers/1016107291/

但现在它在最新的xcode 5中不起作用.

为了您的信息,我在下面的故事板中添加了截图: -

文档大纲的屏幕截图

视图控制器底部的屏幕截图

objective-c ios ios7 xcode5

8
推荐指数
1
解决办法
2554
查看次数

从Storyboard加载自定义UITableViewCell

目前我正在使用故事板的自动布局来动态调整自定义UITableViewCell的大小.除了滚动时存在内存泄漏外,一切都正常工作.

我知道问题来自于打电话

[self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
Run Code Online (Sandbox Code Playgroud)

从内部

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

我的问题是,创建参考单元的最佳方法是什么?如何从故事板加载单元格dequeueReusableCellWithIdentifier

可以dequeueReusableCellWithIdentifier从中调用viewDidLoad并创建一个引用单元作为属性吗?

我需要参考单元用于尺寸调整.

谢谢你的帮助.

uitableview ios heightforrowatindexpath autolayout

6
推荐指数
1
解决办法
2万
查看次数