Tag: 故事板

如果UIWebviewurl等于

我有一个名为“homeview”的UIWebView。 每次有人浏览UIWebview我想检查页面的URL是“ http://www.website.com/cart ”,然后将选项卡控制器更改为第二个选项卡。 所以我这样做了: – (BOOL)webView:(UIWebView *)homeview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSString *URLString = [[request URL] absoluteString]; if ([URLString isEqualToString:@"http://www.website.com/cart"]) { self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:2]; } return YES; } 但没有运气…所以我试图得到一个警告,当页面等于的URL与: – (BOOL)webView:(UIWebView *)homeview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSString *URLString = [[request URL] absoluteString]; if ([URLString isEqualToString:@"http://www.website.com/cart"]) { UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Alert Title […]

iOS将一个CollectionView添加到storyboard UI构build器中的另一个视图

刚开始使用iOS,并试图使右侧的集合视图成为左侧视图的子视图。 我似乎无法将其拖入。我认为问题的一部分是在导航的左侧部分(工作区域的左侧),集合视图被称为场景。 为了创build我想要放入collections视图的视图,我只是将一个新的视图控制器拖到工作区域,然后按住Ctrl +单击将其添加到主选项卡视图。 我将要收集视图上方的另一个视图,但首先是事情… 我必须以编程方式执行此操作吗?

UIScrollView和自动布局不工作

我正在试图在我的应用程序中滚动视图。 O完全按照教程https://www.youtube.com/watch?v=UnQsFlMGDsI中的步骤操作。 我做的主要步骤是: 添加一个UIScrollView 将视图添加到UIscrollView(内容视图) 为UIScrollView创build边界约束,值为0(顶部,左侧,右侧和底部) 为“内容”视图创build值为0(上,左,右和底部)的边距约束 在ContentView和主视图之间创build2个“等宽”和“等高”约束 …(添加一些文本字段) 当我运行应用程序时,scrollView不起作用 我真的不能使它工作。 我尝试了很多方法来应用UIScrollView并没有得到它。

iOS – prepareForSegue不等待completionBlock完成

我喜欢什么:等到数据下载完成,然后打开TableView并显示data 。 我有什么:当prepareForSegue被称为TableView立即打开,无需等待data下载,虽然我有一个completionBlock (这可能不会正确实现我猜)。 注意:当我回去并再次打开TableView时,我看到data 。 – (void)fetchEntries { void (^completionBlock) (NSArray *array, NSError *err) = ^(NSArray *array, NSError *err) { if (!err) { self.articlesArray = [NSArray array]; self.articlesArray = array; } }; [[Store sharedStore] fetchArticlesWithCompletion:completionBlock]; } -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { [self fetchEntries]; if ([[segue identifier] isEqualToString:@"ShowArticles"]) { TableVC *tbc = segue.destinationViewController; tbc.articlesArrayInTableVC = self.articlesArray; […]

在TabBarViewController的Tabs之间传递数据

我有一个基于UITabBarController的应用程序,我想从一个视图传递数据到另一个。 我正在做故事板,我只是做一些testing,然后把它带到主应用程序。 我现在只是用NSString试试这个。 当我使用这个代码使用模态转换时,我能够将数据传递给有问题的VC: NSString *sendingString = @"This string has some content"; UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; NextViewController *nVC = (NextViewController *)[storyboard instantiateViewControllerWithIdentifier:@"goToNextVC"]; nVC.receivingString = sendingString; [self presentViewController:nVC animated:YES completion:nil]; 现在,这推动了VC,并按照我的意愿传递,而不是推高VC,我希望它被推到另一个标签栏。 现在我可以用下面的代码来popup所需的TabBar: self.tabBarController.selectedIndex = 1; 我卡住的地方是,如何发送数据到这个ViewController?

确定哪个Storyboard处于活动状态

我需要弄清楚在任何时候如何确定故事板是否处于活动状态。 我有一个专门的本土化,我需要确定故事板(UIView),然后根据用户按下编程方式改变的东西。 所有的故事板都有标识符。 在根视图viewDidLoad我有以下几点。 (void)viewDidLoad self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@“View1”]; { 我想要做的是确定用户在哪个故事板上,并根据按下执行以下sudo代码 (void)viewDidLoad if(storyboard.name!= RootView)self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@“View1”]; (else if(storyboard.name = View2){self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@“View2”]; } 等等…. 我已经通过代码,看到了StoryboardID,但它是我很确定你不打算使用…. 在此先感谢杰里米 更新:对导航的解释 我试图实现ECSlideViewController,但它正在我的脑海中。有效地将幻灯片添加到正确的function,以显示更多的选项。 所以,这个想法很容易就会变成一团糟。 我有主UIViewController我然后有4个button在其他UIViewControllers,UIViewController segueway等 为了产生对View1,View2,View3,View4的影响,我需要把类(ECSlideViewController作为示例)放入UIViewController。 但是如果我改变下面的代码来表示这个… self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@“HomeView”]; 它因为自称而崩溃。 不好,循环编码是不行的。 但如果我把它设置为最初有什么self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@“FirstTop”]; < – (顺便提一下,第一个op是与该示例一起使用的视图的标题) 它的工作原理,但忽略了UIViewController 这就是为什么我问是否有一种方法来识别UIViewController的self.title(说故事板…我的坏),因为我打算把条件逻辑围绕它,以便不把代码放在它是否在UIViewController中。 除非您下载ECSlideViewController并开始播放,否则很难解释。 但有效的,我只是想testingself.title …..我想… 另一个想法是将逻辑放到四个UIViewControllers中,然后让它在那里工作…但是,由于它期待着一个标识符,所以它吓坏了。 希望这是有道理的…. […]

如何加载所有视图控制器故事板,但跳过自然序列,并直接到一个特定的视图?

假设我在故事板中有三个视图控制器,我想将它们全部加载到视图控制器堆栈中,但是我想要select哪一个会首先出现在用户面前。 如下所示,我想显示加载的第三个视图,而不是显示第一个,任何胶水?

文档“Main.storyboard”无法打开

我正在使用Git,我们是两个人一起编码。 我拉了我的朋友的代码,运行它,它应该是。 然后我合并了我们的部分并清除了冲突(几乎所有的都在故事板上)。 由于我正在做这个合并过程一段时间,我不是所有这些细节陌生人。 但是,当我运行合并版本的代码时,出现错误: 文档“Main.storyboard”无法打开。 操作无法完成。 (com.apple.InterfaceBuilder错误-1。) 我无法打开故事板作为界面生成器。 当我尝试它,我得到同样的错误。 我读过以前的post关于这个错误,但正如我所提到的,我可以在合并之前打开并运行我的XCode中的两个版本的代码。 因此,没有字体或属性string问题。 可能是什么问题?

UITableView仅在第二次尝试时将数据发送到Detail View Controller

嘿,我一直在一个交通应用程序工作了一段时间,一直卡在这个问题一段时间了。 我正在使用iOS 5和故事板。 基本上我有一个UITableView显示最喜欢的公交车站位置,当用户select我使用的行: – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { Favorite *favorite = [self.favoriteItems objectAtIndex:indexPath.row]; stopString = favorite.title; routeString = favorite.subtitle; } 通过用户select的单元格的停止和路线信息,然后准备与我的故事板上的一个segue相对应的segue,推送一个使用停靠点名称和路线名称的详细视图控制器来显示来自plist的时间。 我对Objective C和iOS相当陌生,所以我使用了一个我的朋友告诉我可以工作的segue,但是,这可能是问题所在。 segue看起来像这样: – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { UIViewController *destination = segue.destinationViewController; if ([destination respondsToSelector:@selector(setDelegate:)]) { [destination setValue:self forKey:@"delegate"]; } if ([destination respondsToSelector:@selector(setSelection:)]) { NSString *route = routeString; NSDictionary *selection1 = [NSDictionary […]

将现有的UINavigationControllerembedded到新的视图控制器中

假设我有一个导航控制器和几个视图控制器的故事板。 一切都很好,直到我尝试添加一个新的视图控制器,并希望将其与现有的UINavigationController关联。 当我去编辑>embedded>导航控制器,Xcode有用地创build一个新的控制器,这正是我不想要的。 当我尝试拖动创build一个线框时,我创build了一个segue关系,这又是我不想要的。 有没有办法让新的视图控制器与现有的导航控制器打好?