标签: uistoryboard

如何本地化iOS故事板

我有一个带有一些观点的iPhone故事板.例如,命名导航项目标题News,应该为其他语言翻译.

当我向故事板添加新的本地化时,它创建了我当前新语言故事板的副本.在这里我可以更改导航项的标题,但对我来说它似乎没有用.如果我的故事板包含100个视图并且我需要支持10种语言怎么办?如果我需要在原始故事板中更改某些内容,我必须对所有语言进行相同的更改.这看起来很奇怪.在哪些情况下这可能有用?

我该怎么做?我应该只有英文故事板并使用ViewController手动翻译每个元素NSLocalizedString吗?

objective-c nslocalizedstring ios uistoryboard

56
推荐指数
4
解决办法
5万
查看次数

笔尖中的原型单元而不是故事板

为了更好的可重用性,我想在Storyboard之外创建一个表视图.

现在,当我UITableView在Xcode中使用Nib 创建基于View的控制器时,我在nib文件中获得了默认的TableView.但是,我无法在Interface Builder中添加原型单元格,就像我在Storyboard中一样.

目前是不是可以在笔尖中添加原型单元格,或者我错过了什么.

非常感谢您的帮助.

xcode objective-c nib ios uistoryboard

56
推荐指数
2
解决办法
3万
查看次数

UItextfield中的大写字符

我有一个问题iOS UIKeyboard.

我有一个UITextField,我想keyboard只有大写字符.

我使用了一个storyboard,我试着设置Cpitalization为" All characters" UITextField properties.

但这不能解决我的问题......有什么建议吗?

iphone uitextfield ios uistoryboard

52
推荐指数
9
解决办法
4万
查看次数

更改Xcode故事板中视图控制器的列表顺序

我刚刚使用故事板开始我的第一个应用程序.我正在使用Xcode 4.5和iOS 6 SDK.我想知道如何更改文档大纲(故事板左侧的面板)中列出控制器的顺序.在此输入图像描述

xcode ios xcode4 uistoryboard

51
推荐指数
4
解决办法
2万
查看次数

viewController与storyboard的自定义init方法

我无法覆盖我的Storyboard中设计的CustomViewController的初始化方法.

现在我正在做(在我的mainViewController中):

self.customViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"CustomVC"];
self.customViewController.myObject = someObject;
Run Code Online (Sandbox Code Playgroud)

我在viewDidLoad(CustomViewController)

    [self.label setText:self.myObject.someString];
Run Code Online (Sandbox Code Playgroud)

这没问题.

但是,这是正确的方法吗?我应该在CustomViewController中添加自定义init方法(或覆盖)吗?像initWithObject:?我不知道如何调用我的自定义init方法UIStoryboard instantiateViewControllerWithIdentifier:,而不是调用init也不是initWithNibName.

也许我应该使用:- (id)initWithCoder:(NSCoder *)decoder.

请给我一些建议!

谢谢!

uiviewcontroller ios5 uistoryboard

50
推荐指数
1
解决办法
3万
查看次数

Xcode - 重复的故事板场景

有没有一种快速的方法来复制Xcode的故事板编辑器中的场景?

我正在寻找类似于使用选项拖动来复制UIButton场景(或nib文件)中的UI元素(等)的东西.复制粘贴工作,但很尴尬.

xcode ios uistoryboard

49
推荐指数
5
解决办法
4万
查看次数

如何正确实现带导航控制器的标签栏控制器

我正在使用Storyboard和Xcode 6.我在Storyboard中有下一个控制器和场景:

UINavigationController具有HomeViewController作为根.HomeViewController有一个按钮Show (e.g. Push) UITabBarController.UITabBarController有4 UIViewControllers.

但我的问题是,在我显示之后UITabBarController,4中没有导航栏UIViewControllers.但我认为,如果我Show (e.g. Push) UITabBarController那么它应该有嵌入式导航控制器,它是故事板中的初始控制器.我对吗?如果是这样,我如何在Storyboard中设置导航栏,因为我在故事板上看到的推送标签栏中现在有默认栏事件.我选择了UIViewController并将身份检查器中的模拟指标设置为Top属性的Translucent Navigation bar,但我认为它应该自动添加到此控制器和标签栏而无需其他步骤.

或者我应该为每个具有根视图控制器的标签栏项添加新的导航控制器?

主要问题为什么我没有在使用show(例如Push)的故事板中看到导航栏.例如,如果我添加导航控制器然后设置为根 - 标签栏控制器,那么Xcode会自动添加顶部导航栏,但如果队列有一个额外的步骤,就像在我的情况下HomeViewController一样,顶部导航栏永远不会自动出现.

uitabbarcontroller uinavigationcontroller ios uistoryboard xcode6

46
推荐指数
2
解决办法
6万
查看次数

UIPageViewController和故事板

我正在尝试从故事板中特定配置UIPageViewController:

在此输入图像描述

TutorialPageViewController.h

#import <UIKit/UIKit.h>
@interface TutorialPageViewController : UIPageViewController <UIPageViewControllerDelegate, UIPageViewControllerDataSource>
@end
Run Code Online (Sandbox Code Playgroud)

TutorialPageViewController.m

#import "TutorialPageViewController.h"

@interface TutorialPageViewController ()
@property (assign, nonatomic) NSInteger index;
@end

@implementation TutorialPageViewController
{
    NSArray *myViewControllers;
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.delegate = self;
    self.dataSource = self;
    [self didMoveToParentViewController:self];
    UIStoryboard *tutorialStoryboard = [UIStoryboard storyboardWithName:@"TutorialStoryboard" bundle:[NSBundle mainBundle]];
    UIViewController …
Run Code Online (Sandbox Code Playgroud)

ios uistoryboard uipageviewcontroller xcode-storyboard

45
推荐指数
4
解决办法
3万
查看次数

以编程方式调用故事板场景(不需要segue)?

我有一个模态故事板场景,我希望所有其他场景都可以访问.从我的故事板上的每个场景创建一个模态segue会产生一大堆乱七八糟的字符串.有没有办法让我离开segues并以编程方式调用场景?

基本上我想做这样的事情:

  MyNewViewController *myNewVC = [[MyNewViewController alloc] init];
  [self presentModalViewController:myNewVC animated:YES];
Run Code Online (Sandbox Code Playgroud)

除了创建和推送视图控制器类,我想做一个模态转换到"隔离"(不与segue连接)故事板场景.

xcode objective-c ios uistoryboard

44
推荐指数
4
解决办法
7万
查看次数

如何在故事板场景中嵌入自定义视图xib?

我在XCode/iOS世界中相对较新; 我已经做了一些像样的大小基于故事板的应用程序,但我从来没有在整个nib/xib的东西上削减我的力量.我想使用相同的工具为场景设计/布局可重用的视图/控件.所以我为我的视图子类创建了我的第一个xib并绘制了它:

在此输入图像描述

我已连接我的插座和约束设置,就像我以前在故事板中做的那样.我将my的类设置File Owner为我的自定义UIView子类.所以我假设我可以用一些API实例化这个视图子类,它将如图所示配置/连接.

现在回到我的故事板中,我想嵌入/重用它.我在表视图原型单元格中这样做:

在此输入图像描述

我有一个观点.我已将它的类设置为我的子类.我为它创建了一个插座,所以我可以操纵它.

64美元的问题是在哪里/如何表明仅仅放置我的视图子类的空/未配置实例是不够的,但是使用我创建的.xib来配置/实例化它?这真的很酷,如果在XCode6中,我可以输入XIB文件用于给定的UIView,但我没有看到这样做的字段,所以我假设我必须在代码中的某些地方做一些事情.

(我确实在SO上看到了这样的其他问题,但是没有找到任何关于这部分难题的问题,或者最新的XCode6/2015)

更新

我可以通过实现我的表格单元格来实现这一点,awakeFromNib如下所示:

- (void)awakeFromNib
{
    // gather all of the constraints pointing to the uncofigured instance
    NSArray* progressConstraints = [self.contentView.constraints filteredArrayUsingPredicate: [NSPredicate predicateWithBlock:^BOOL(id each, NSDictionary *_) {
        return (((NSLayoutConstraint*)each).firstItem == self.progressControl) || (((NSLayoutConstraint*)each).secondItem == self.progressControl);
    }]];
    // fetch the fleshed out variant
    ProgramProgressControl *fromXIB = [[[NSBundle mainBundle] loadNibNamed:@"ProgramProgressControl" owner:self options:nil] objectAtIndex:0];
    // ape the current placeholder's frame
    fromXIB.frame = self.progressControl.frame;
    // now swap them
    [UIView transitionFromView: …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c interface-builder ios uistoryboard

44
推荐指数
3
解决办法
4万
查看次数