ios - 用于设计屏幕外 subview 的 Storyboard

标签 ios iphone objective-c storyboard childviewcontroller

我想使用 Storyboards 为 slider 设计内容,似乎设计屏幕外内容的一种简单方法是使用 childViewController。所以我做了这个

myViewController = [[UIStoryboard storyboardWithName:@"ipad" bundle:NULL] instantiateViewControllerWithIdentifier:@"keyPadOffScreen"];

[self addChildViewController:myViewController];
[myViewController didMoveToParentViewController:self];
newView = myViewController.view;
[self.view addSubview:newView];

然后将整个 View Controller 添加到我的 Root View 之上。问题是,我只想显示其中一个 subview ,而不是整个 View 。我可以处理动画,只要我知道如何添加 Root View 。我试过只添加 subview (sliderView 是我想要的 subview 的名称)而不是整个 View ,但这什么也没做

newView = myViewController.sliderView;
[self.view addSubview:newView];

我应该使用不同的策略吗?

编辑:这确实有效,但看起来很傻——将 View 大小设置为 subview 的大小。

  newView.frame = CGRectMake(newView.frame.origin.x, newView.frame.origin.y, newView.frame.size.width, **myViewController.sliderView.frame.size.height**);

最佳答案

仅仅为了一个 View ,它似乎有点矫枉过正。一旦你开始做很多自定义 View /动画/过渡的东西,通常更容易用代码实现,或者至少对我来说是这样,因为我已经这样做了很长时间。

但也许您想坚持使用 Storyboard。我尊重。如果您有一些开发人员从事此工作,那么在设置 UI 的方式上保持一定的统一性就很重要。

与其将其保存在单独的 View Controller 中并在需要它在屏幕上显示动画时添加它,不如将其添加到现有的 View Controller 并将其设置为隐藏,或在 IB 中将其 alpha 设置为 0.0。然后您的动画可以撤消它并使其可见。

关于ios - 用于设计屏幕外 subview 的 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694389/

相关文章:

iphone - UITextView 的自定义委托(delegate)

ios - 返回一个 dispatch_async 获取的变量

objective-c - 创建具有不同子类属性的子类

iphone - 如何在单击按钮时更改 iPhone 的方向?

iphone - 将 PDF 文件导入到应用程序

ios - SIP 和 Webrtc 集成 iOS

ios - 在我的 cocoapod 中包含一个 plist 文件

ios - 如何在 Swift 应用程序中关闭蓝牙时显示警报?

iOS CLLocationManager : Removing spikes

objective-c - 在 Objective-c 中使用调度队列