Tag: uistoryboard

有条件地触发多个视图控制器

经过几天有条件地解雇了一段时间之后,我得到了西蒙 在这里的回答。 请花点时间看看,或者你可能不明白我在下面谈论什么。 我没有复制粘贴他的答案,因为他已经在那里很好地解释了。 现在我面临一个新的问题。 如果我想从一个View Controller继续使用多个View Controller? 进一步解释:说我有一个2个button的MainViewController 。 点击每个button后,它应该继续到他们各自的视图控制器。 第一个button到FirstViewController ,第二个button到SecondViewController 。 当您从一个视图控制器切换到另一个视图控制器时,可以使用Simon答案中所述的方法。 由于在这种方法中,您将segue绑定到View Controller itsrlf而不是button,您只有一个segue和该特定View Controller的标识符。 所以我不能单独区分button水龙头。 有没有解决这个问题的解决方法? 谢谢。

我想能够使用故事板向左和向右滚动UITableViewCell。 这不可能吗?

我尝试了所有我能想到的事情,而且没有任何工作。 类似于iOS 7的Mail.app中的效果,我希望能够左右滑动我的表视图的单元格。 我希望能够在故事板和自动布局中做到这一点,因为我的应用程序大部分是与这些完成的。 我知道故事板的滚动视图通过他们的子视图的约束来计算他们的contentSize。 有了这个,我主要尝试了两种策略。 第一个,只要在scrollview中有一个标签,我就可以向右或向左滑动。 我将它设置为粘贴到滚动视图的顶部和底部,但在标签的任一侧都是300pts,以允许滚动视图计算其contentSize。 这极大地推动了标签向右,所以我不能看到它时,表加载。 选项二,最好的一个,是把一个UIView放在滚动视图中,然后把标签放在里面,这样它们就可以全部定位成一个UIView父组件。 我试着简单地在这里设置UIView,将其设置为粘贴到滚动视图的顶部和底部,宽度设置为320,而左侧和右侧距离边缘320。 这个抱怨没有高度限制,但是我告诉它要坚持滚动视图的顶部和底部。 这不算什么? 如果单元格大小增长,滚动视图会随之增长,因此我希望内部视图的高度也增加。 由于某种原因,它也会水平地抱怨这个位置。 这是一个示例项目,其中提到了所有的约束条件。 究竟是怎么回事? 这是不可能的任务吗?

以编程方式在委托中调用故事板

我试图以编程方式调用我的故事板。 我的故事板包含以下内容: [导航控制器] – > [MainMenuView] – > [DetailsView] “MainMenu”标识符被放置在[MainMenuView] 我遇到的问题是屏幕显示空白。 我需要做什么? 谢谢。 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; MainMenuView *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"MainMenu"]; return YES }

在故事板中创build一个独立的视图以编程方式使用

我试图创build和devise一个使用故事板的UIView但以编程方式将其包含在UIActionSheet 。 这基本上是为了避免使用像素的CoreGraphics定位function 在旧的xcode中,我记得可以在没有任何控制器的情况下将UIView拖到nib上。 该视图显然必须连接到类,所以它会有一个IBOutlet,但不会被添加到self.view 有一件事情让我觉得这应该是可能的是,如果你拖动一个UIView到控制器黑色的故事板,它就像这样popup: 但它没有在屏幕上显示。 这个function是什么? 我能以某种方式打开这个视图并devise一下吗?

dynamicUITableView在静态UITableViewCell中

以下设置会导致麻烦: 在我的故事板中,我有一个标准的表格视图控制器,包含一个表格视图,其中有三个静态单元作为内容。 其中一个单元格包含另一个带有dynamic内容的表格视图和一个原型单元格。 这两个表视图的委托和数据源被设置为相同的表视图控制器。 在委托和数据源方法中,我确定哪个tableview调用方法并正确处理响应。 但是,如果dynamic表视图包含多个元素,我得到一个NSRangeException与[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0] 。 我无法追查下来,因为这个调用堆栈里面没有任何东西可以让我看起来很熟悉。 我怀疑我的数据是中断的,但是在用NSLog消息污染后,似乎并不是这样,我仍然迷失了方向。 这是我的代码: @interface CartViewController : UITableViewController @property (nonatomic, strong) IBOutlet UITableView* cartTableView; @property (nonatomic, strong) IBOutlet UILabel* lblTotalPrice; @property (nonatomic, strong) IBOutlet UITableViewCell* cellProductList; @property (nonatomic, strong) IBOutlet UITableViewCell* cellTotalPrice; @property (nonatomic, strong) IBOutlet UITableViewCell* cellProceedToCheckout; @end @implementation CartViewController […]

在代码中修改故事板自动布局约束的最佳做法?

我一直在代码中完成我的用户界面,但已经决定我应该为当前项目使用故事板和自动布局。 一切都进展顺利,直到我build立了一个复杂的场景,有大约50个观点,有很多层次和一些观点。 问题是,我的汽车布局越来越混乱的一些设备和方向。 我发现使用IB来尝试修复几十(几百?)个约束或追踪问题并解决这些问题是具有挑战性的。 情况是这样的,我没有得到错误或警告,有时只是一些不愉快的布局。 而IB可能会带来一些痛苦,所有的点击和改变设置都需要你去追踪约束信息,更不用说全面了解它们在场景中的相关性。 我刚刚花了一天时间阅读关于自动布局和约束的文档和背景材料,似乎我的最佳解决scheme是使用可视化格式来指定代码中的约束,并创build一些自定义代码来提供帮助。 但是,我似乎无法find关于如何从IB转换到代码的任何事情。 具体而言,我是否应该清除所有IB的限制,并全部手工完成,还是可以select? 我问,因为我有一些视图组包含视图的内容视图有一个完美的布局。 其次,我最好把我的代码? 我想共存故事板,只是想有select地修改一些复杂的场景。 是一个视图控制器的viewWillAppear:修改或删除/添加它所控制的视图的约束的正确位置?

closures自适应popup窗口button

在故事板中,我有一个带有button的根视图控制器,触发一个包含UITableViewController的UINavigationController的“呈现为popup窗口”。 我希望导航控制器在iPhone和iPad上均可使用。 在iPad上,这个function非常出色。 在iPhone上,我得到了模态演示文稿,所以现在我需要一个额外的栏button项目来消除模态视图。 从观看WWDCvideo,我已经在根视图控制器中尝试了以下内容: – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { UIViewController *vc = segue.destinationViewController; vc.popoverPresentationController.delegate = self; } – (void)dismissPopover { [self dismissViewControllerAnimated:YES completion:nil]; } – (UIViewController *)presentationController:(UIPresentationController *)controller viewControllerForAdaptivePresentationStyle:(UIModalPresentationStyle)style { UINavigationController *nvc = (UINavigationController *)controller.presentedViewController; UIBarButtonItem *bbi = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissPopover)]; nvc.topViewController.navigationItem.leftBarButtonItem = bbi; return nvc; } 我知道-presentationController:viewControllerForAdaptivePresentationStyle:方法应该只在UI自适应,即模态时被调用,但是它根本不会被调用,即使在iPhone上作为模式运行时也是如此。

iOS Storyboards我应该使用它们吗?

我是iOS开发的新手(没有创build任何应用程序),但是我要求我的朋友提供市场上评价很高的应用程序的build议。 他说不要使用故事板。 尽pipe我想听取他的build议,但他们似乎真的很有帮助。 这是否会在未来导致我的应用程序出现问题? 我有什么理由不想使用故事板? 来自Android的背景,我不明白为什么我应该使用它们。

为什么git反复添加和删除Storyboard <classes>部分?

当保存故事板并将修改提交到git时,整个<classes>部分将被移除或添加到源代码pipe理(git)中的机会是很好的。 我在命令行上使用git,而不是XCode集成的UI。 首先看起来像这样: + <classes> + <class className="CPTGraphHostingView" superclassName="UIView"> + <source key="sourceIdentifier" type="project" relativePath="./Classes/CPTGraphHostingView.h"/> + </class> … + </classes> 在下一个提交中看起来像这样: – <classes> – <class className="CPTGraphHostingView" superclassName="UIView"> – <source key="sourceIdentifier" type="project" relativePath="./Classes/CPTGraphHostingView.h"/> – </class> … – </classes> 为什么呢,更重要的是,我怎么能阻止呢?

如何unwindForSegue:对viewController:工作?

在我的简单的应用程序中,我创build了一些基本的赛格控制器: 黄色控制器 – > BlueController – > GreenController – > OrangeController 。 他们每个人都有自己的习惯课。 从OrangeController,我创build了unwindSegue到我的YellowController。 没关系。 在每堂课中我都提到: override func unwindForSegue(unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) { print(unwindSegue) print(subsequentVC) } 但是根本不叫。 为什么? 我应该准备什么样的testing来testing这个function? 同样是: func allowedChildViewControllersForUnwindingFromSource(source: UIStoryboardUnwindSegueSource) -> [UIViewController] func childViewControllerContainingSegueSource(source: UIStoryboardUnwindSegueSource) -> UIViewController?