我正在为拥有自己的子视图而苦苦挣扎UIViewControllers
.我有一个UIViewController
视图(浅粉色)和两个按钮toolbar
.我希望在按下第一个按钮时显示蓝色视图,按下第二个按钮时显示的黄色视图.如果我只是想显示一个视图,应该很容易.但蓝色视图将包含一个表,因此它需要它自己的控制器.那是我的第一课.我从这个SO问题开始,我知道我需要一个控制器用于表.
所以,我要支持并采取一些婴儿步骤.下面是我的Utility ViewController
(主视图控制器)和另外两个控制器(蓝色和黄色)的简单起点图片.想象一下,当ViewController
首次显示Utility (主视图)时,将显示粉红色视图所在的蓝色(默认)视图.用户可以单击两个按钮来回移动,粉红色视图将永远不会显示.我只想将蓝色视图移到粉红色视图的位置,将黄色视图移到粉红色视图所在的位置.我希望这是有道理的.
我正在尝试使用addChildViewController
.从我所看到的,有两种方法可以做到这一点:容器视图storyboard
或addChildViewController
编程.我想以编程方式进行.我不想使用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)
- - - - …
我正在使用故事板设计一个iPad应用程序.我有ViewController
一个观点.我的问题是,当管理员看到该屏幕时,他应该看到某个视图,而当用户看到该屏幕时,他应该看到另一个视图.我以为我应该为同一个屏幕创建两个视图,并根据谁记录它来加载适当的视图.但是,虽然我可以XIB
在以前的iOS版本的文件中执行此操作,但故事板不允许我在外部创建视图,ViewController
因此我无法设计多个视图.
我的问题是:
ViewController
吗?如果是,那怎么样?在此先感谢您的帮助
我在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) 我正在尝试创建和设计一个UIView
使用故事板,但以UIActionSheet
编程方式包含它.这基本上是为了避免使用带有像素的CoreGraphics定位功能
在旧的xcode中,我记得可以在没有任何控制器的情况下将UIView拖到笔尖上.
该视图显然必须连接到类,因此它将具有IBOutlet,但不会被添加到 self.view
让我觉得这应该是可能的一件事是,如果你将UIView拖入故事板中的控制器黑条,它会像这样弹出到位:
但它没有在屏幕上显示.这个功能是什么?我可以以某种方式打开这个视图并设计一下吗?
我已经在xcode 5的故事板中将UIView拖放到UIViewController,它已被添加,但我无法在故事板中看到UIView.有人有解决方案吗?
在以前版本的xcode中,我确实使用以下链接描述的过程: - /sf/answers/1016107291/
但现在它在最新的xcode 5中不起作用.
为了您的信息,我在下面的故事板中添加了截图: -
目前我正在使用故事板的自动布局来动态调整自定义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
并创建一个引用单元作为属性吗?
我需要参考单元用于尺寸调整.
谢谢你的帮助.
ios ×3
objective-c ×3
storyboard ×2
uitableview ×2
autolayout ×1
ios5 ×1
ios7 ×1
ipad ×1
key ×1
uistoryboard ×1
xcode ×1
xcode5 ×1