Tag: uistoryboard

应用程序:didFinishLaunchingWithOptions:在创build目标控制器之前触发通知

您好,我正在编写一个应用程序,当使用本地通知打开它时,应用程序会响应UI更新和内部状态更改。 我正在使用故事板,并设置了我的主视图控制器来观察状态更改: – (void)viewDidLoad { [super viewDidLoad]; // … [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resumeByNotification:) name:@"Resume" object:nil]; } 在我的应用程序代表我有这个: – (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { if (application.applicationState == UIApplicationStateInactive) { [[NSNotificationCenter defaultCenter] postNotificationName:@"Resume" object:self userInfo:notification.userInfo]; } } 这工作得很好:如果应用程序在后台运行,视图控制器将拦截通知并作出相应的反应。 (如果应用程序在前台运行,则由于正在直接处理用户界面,所以将忽略它。) 应用程序被杀并收到通知时出现问题。 我已经写在didFinishLaunchingWithOptions方法,使手机震动作为一个快速debugging技术:),我得到的通知: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UILocalNotification *localNotification = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]; if (localNotification) { [[NSNotificationCenter defaultCenter] postNotificationName:@"Resume" […]

iOS:让等待login成功

我正在使用XCode 4.2的故事板functiondevise一个iOS应用程序。 该应用程序有一个login屏幕,需要一个用户名和密码,并有一个button来login。按下loginbutton触发推seque到另一个视图控制器。 但是,我希望seque在进入下一个视图控制器之前等待login返回成功。 我知道关于prepareForSegue:sender:但inheritance人我的问题:login电话是asynchronous的。 因此,我不能在那里执行login。 这有什么事吗? 我是否可以在故​​事板中创build一个只在需要时触发的seque(而不是单击button时)?

与两个UINavigationControllers共享相同的UIViewController作为rootViewController

更新:我决定走我的问题不同的路线。 我不使用直接重用相同的UIViewController ,而是使用两个设置为rootViewControllers的 vanilla UIViewController 。 在他们的loadView方法中,他们调用[storyboard instantiateViewControllerWithIdentifier:]来获得以前的UIViewController并将其视图设置为控制器的视图。 无论如何,这可能是首选的方法,因为我需要设置几个variables和委托。 我有一个UITtoryBoard与UITabBarController作为入口点与两个UINavigationControllers连接。 每个人都共享一个共同的UIViewController作为他们的根视图控制器。 当应用程序启动时,第一个UITabBarItem被选中并且视图按预期加载。 但是,当我select第二个UITabBarItem时 ,相同的视图不可见。 我看到一个黑色背景的UINavigationBar 。 我是不是做了不正确的故事板界面,还是我需要手动实例化UIViewController通过每个UINavigationController的方法 – 例如loadView?

TableView与多个原型单元格

我有一个关于3种不同types原型单元的表格视图的简单问题。 前两次出现一次,而第三次出现四次。 现在我感到困惑的是如何在我的cellforRowatindexpath中指定哪个单元格原型用于哪一行。 所以,我想像行0,使用原型1,行1,使用原型2,行3,4,5和6使用原型3.什么是最好的方法来做到这一点? 我给每个原型标识符,然后使用dequeueReusableCellWithIdentifier:CellIdentifier? 你能提供一些示例代码吗? 编辑: 还是行不通。 这是我目前的代码。 (我只有一个开关状态的例子,因为我只是想testing一下,看是否在第一行中生成单元格,但是当前表格视图是空白的) – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { switch(indexPath.row) { case 0: {static NSString *CellIdentifier = @"ACell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ACell"]; if(cell==nil) { cell=[[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:@"ACell"]; } return cell; break; } } } Acell是我创build的单元格原型的标识符。 一世

故事板中的颜色与UIColor不匹配

我正在定义代码中的颜色 [UIColor colorWithHue:32.0/360.0 saturation:0.88 brightness:0.97 alpha:1] 如果我尝试在故事板中设置相同的颜色,则在运行App时,它与代码中定义的颜色略有不同。 如果将颜色拖到上颚,然后select不同的颜色,再次select上一个,HSB值稍有不同。 它似乎是在界面构build器中捕捉到不同的(RGB?)颜色。

从顶部添加导航标题的空间

要为导航标题购物清单提供额外的空间。 我该怎么做? 没有看到在故事板中的导航项目的属性中执行它的选项。 它接近date,应用程序顶部的电池图标。 附上截图。 试过下面的代码,它不工作使用swift2 override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. navigationController?.navigationBar.setTitleVerticalPositionAdjustment(15,forBarMetrics: UIBarMetrics.Default) // set any number you want between -20 to 15 }

为什么不为这样的login屏幕设置初始视图控制器?

我已经读过这个和这个问题。 但是我不明白为什么下面的代码是不够的。 这只是工作。 我需要一个else语句来为LoginViewController设置rootViewController吗? 它是不是已经由故事板设置? func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { if Settings.loggedIn { let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) let mainViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainViewController") self.window?.rootViewController = mainViewController self.window?.makeKeyAndVisible() } return true } 在LoginController中,我应该设置AppDelegate rootController吗? 为什么不执行赛克? @IBAction func login(sender: AnyObject) { performSegueWithIdentifier("loginToMainSegue", sender: nil) } 另外为什么不执行退出login? @IBAction func logout(sender: AnyObject) […]

双向故事板旅行不堆叠

推塞入堆栈视图控制器,同时popup'垛'他们。 Modal在堆叠视图控制器的同时解放了它们。 我正在尝试创build一个自定义的segue,以便在任何方向上以线性(平面)层次结构在VC之间移动,而不会在任何方向上堆叠。 看起来,风险投资家之间在两个方向上的分歧都可以防止解雇。 有任何想法吗?

如何使用scrollview与dynamic高度的子视图?

我在滚动视图中有一个标签,可以less至1行,多达10行。 我很难找出如何使scrollview内容大小dynamic,以便相应地扩展。 我尝试添加> = 100(任意数字)的高度约束,但是却抱怨它是一个Inequality Constraint Ambiguity 。

清除故事板中使用的标签文本

想知道是否有人知道如何完成以下… 在Storyboard我使用虚拟文本设置我的标签,但它们不是静态文本。 例如“User1用户名”。 我想知道是否有一个设置来清除该视图加载时该标签的值。 我有一些其他的代码跑掉并收集相关信息。 但是,这可能需要几秒钟的时间,因此在加载时向用户显示HUD。 当然,在HUD的背景下,您可以看到示例文本。 我知道在viewDidLoad我可以简单地清除所有的标签文本设置他们回到@"" ,但是故事板没有设置或任何这样的?