标签: uistoryboard

iOS:目前的视图控制器programmaticicallyly

我正在使用该presentViewController:animated:completion:方法转到另一个视图控制器.

这是我的代码:

AddTaskViewController *add = [[AddTaskViewController alloc] init];
[self presentViewController:add animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

此代码转到另一个,UIViewController但另一个控制器为空.我一直在使用故事板,但现在我需要在代码中完成.

objective-c uiviewcontroller ios uistoryboard presentviewcontroller

34
推荐指数
2
解决办法
12万
查看次数

自定义UIStoryboardSegue和UIViewController转换之间的区别

我试图找出自定义UIStoryboardSegue和自定义UIViewcontroller转换之间的区别(在ios7中引入).

两者有什么不同和不同的用例?据我所知,它们都用于自定义移动到新控制器.

可能UIViewcontroller转换更多地用于仅显示的控制器,并且某些点将被解除,而segue是完整的移动而不一定是后退?

自定义分段
UIViewControllerTransitioningDelegate协议参考

uiviewcontroller ios uistoryboard uistoryboardsegue ios7

34
推荐指数
1
解决办法
2844
查看次数

在Xcode故事板中使用可伸缩的图像

我正在使用故事板来布置我的视图控制器,我想为我的按钮使用可伸缩的图像(这样我就不需要生成几个不同大小的图像).

这可以直接在故事板中直接进行,而无需编写任何代码吗?我真的很喜欢将故事板用于所有图形内容的可能性,并保持代码清洁UI的东西,但似乎我无法在这里摆脱它.

如果不可能,你会建议什么呢?

iphone xcode cocoa-touch ios uistoryboard

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

如何解除UIStoryboard中带有模态segue的模态?

设置:我有一个故事板设置,有两个简单的视图控制器A和B.A中有一个按钮,它转换为B模式segue.B在A之上呈现模态转换.没关系.

问题:有没有办法让B离开并用一些简单的故事板魔法回到A?

请注意,如果这一切都在导航控制器中,并且我使用了推送segue,那么它将被导航控制器隐含地处理.会有一个"后退"按钮.没有类似的模态,我需要自己构建UI,这很好,但我想知道是否有一个segue机制我可以用来发信号从B回到A.

现在构建从B到A的oldskool方法将是:

  • 在B上创建委托属性
  • 当模态转换segue回放时,将A设置为B的委托(我可以使用prepareForSegue挂钩:发件人:在A的代码中)
  • 当它被解雇时,B向其代表发出信号
  • A实现了一个解除B的委托方法

这可行,但感觉太多开销和愚蠢.

是否有一些我错过的UIStoryboard机制,基本上会做一个"反向模态segue"?

cocoa-touch uistoryboard

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

如何在Xcode 4.3.1中解决这个新警告:"由于缺少入口点,场景无法到达......"?

我有一个带有故事板的iOS项目.我最近升级到Xcode 4.3.1,现在出现了这个新警告:

"由于缺少入口点而无法访问场景,并且没有通过-instantiateViewControllerWithIdentifier:的运行时访问标识符."

问题是我在故事板中有一些导航控制器,没有入口点.我拥有它们的原因是我可以在其中嵌入其他视图,以便在设计时在Xcode中查看导航栏.这些视图在运行时被推送到的实际导航控制器不在故事板中(旧代码尚未移植到故事板).

有人找到了一个很好的解决方法吗?我想保持我的代码干净,没有警告.

xcode warnings ios5 uistoryboard

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

使用Xcode 6,iOS 8,Storyboards和xliff的Sane本地化工作流程?

理想情况下,这是我想做的事情:

  1. 使用英语基础本地化在Xcode中设置项目.最终我想要英语,让我们说我Localizable.strings和故事板的荷兰语版本
  2. 在代码中外部化字符串NSLocalizedString,使用表单的键fooViewController.barLabel,勤奋并为每个键添加适当的上下文注释
  3. 将荷兰语本地化添加到我的Storyboard文件中
  4. 将Storyboard中的特定标签标记为将在运行时设置且不需要翻译的占位符
  5. 添加注释在故事板哪些标签需要翻译
  6. 导出"开发语言" xliff文件(单击"项目","编辑/导出以进行本地化...",选择"仅限开发语言")
  7. 使用CounterpartsXliffiexliff等工具打开英文文件,甚至可以使用基于Web的工具
  8. fooViewController.barLabel键旁边添加实际的英语翻译,然后重新保存en.xliff
  9. nl.xliff从原始文件创建文件en.xliff并添加荷兰语翻译
  10. 将这两个xliff文件导入Xcode,并.strings为代码中定义的键和Storyboard中的键创建适用于荷兰语和英语的文件; 将新.strings文件提交到我的源存储库
  11. 在我的源和故事板中添加,删除和更改密钥之后的某个未来点,en.xliff再次导出"开发语言" 作为事实的来源
  12. 使用当前翻译更新en.xliffnl.xliff文件,使用工具突出显示添加或删除了哪些键
  13. 将这些xliff文件导回Xcode,.strings然后更新文件,然后我可以将其检入我的源存储库

这有意义吗?想要这样做是否合理?我想是这样,但它不起作用.

以下是我遇到的问题:

  • Xcode不支持第4步 - xliff格式可以将键标记为translate=no,但是没有办法在Xcode中注释(理想情况下,Xcode根本不会导出标记为占位符的键.)
  • Xcode不支持第5步 - 无法为标签设置翻译注释.甚至没有办法设置密钥独立于您放置在Storyboard标签上的占位符文本,如果您在布局视图时发现Lorem Ipsum的填充标签很有用,那将是一个巨大的痛苦.
  • 当你进入第10步时,Xcode会抱怨en.xliff文件中没有指定目标语言.有一种方法可以EN在Counterparts中更改目标语言(或者至少创建一个目标语言设置为的新文件)但是我找不到任何方法来使用Xliffie.
  • 在尝试en.xliff使用更新的密钥重新导出文件时,Xcode告诉我"Localization failed reading "[...]/Supporting Files/en.lproj/Localizable.strings, Please …

localization uistoryboard xliff xcode6 ios8

32
推荐指数
1
解决办法
2460
查看次数

如何纠正iPhone X上的标签栏高度问题

在测试iPhone X时,我的应用程序出现了问题.我不确定如何调整此问题,以及不使用非iPhone X尺寸的问题.这似乎只是iPhone X模拟器上的一个问题.

在此输入图像描述

在此输入图像描述

xcode ios uistoryboard swift iphone-x

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

UItabbar项目未显示故事板参考

我正在尝试在标签栏中使用新的故事板参考.当我使用故事板参考时,UITabBarItem(带有自定义图像和文本集)没有显示任何内容.请参阅设置: 故事板设置

tabbaritem设置

我现在通过在initWithCoder函数中为引用的故事板中的初始viewcontroller设置图像和标题来修复它,如下所示:

static NSString *const ContactsViewControllerTabContactImageName = @"tab-contact";
static NSString *const ContactsViewControllerTabContactActiveImageName = @"tab-contact-active";

- (instancetype)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];
    if (self) {
        self.title = NSLocalizedString(@"Contacts", nil);
        self.tabBarItem.image = [UIImage imageNamed:ContactsViewControllerTabContactImageName];
        self.tabBarItem.selectedImage = [UIImage imageNamed:ContactsViewControllerTabContactActiveImageName];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

objective-c uitabbar ios uistoryboard

30
推荐指数
2
解决办法
6856
查看次数

AutoLayout多行UILabel切断了一些文字

我正在尝试学习自动布局,最后我想在发生这种情况时我正在抓住它.我正在玩原型细胞和标签.我想要一个

  • 标题,titleLbl- 图片中的蓝框
  • 金钱,moneyLbl- 图片中的绿色框
  • 字幕/描述,subTitleLbl- 图中的红色框

到目前为止我有这个:

iphone截图

我想要实现的是:

  • 绿色框应始终显示在1行上
  • 绿色框内的值应基于蓝色框居中
  • 蓝色框将占用剩余空间(对于2之间的水平约束为-8px),并在必要时显示在多行上
  • 红色框应位于下方,并根据需要显示尽可能多的行.

正如您所看到的,除了最后一行中的示例之外,这几乎都可以正常工作.我试图对此进行研究,从我可以收集的内容来看,这与内在的内容大小有关.网上有很多帖子推荐设置setPreferredMaxLayoutWidth,我已经在多个地方做了这个titleLbl并且没有任何效果.只有在硬编码时才能180得到结果,但它还在文本顶部/下方的其他蓝色框中添加了空格/填充,大大增加了红色/蓝色框之间的空间.

这是我的约束:

标题: 标题限制

钱: 金钱限制

字幕: 字幕约束

基于我与其他文本样本一起运行的测试,它看起来确实使用了故事板中显示的宽度,但任何纠正它的尝试都不起作用.

我创建了一个单元格的ivar并用它来创建单元格的高度:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    [sizingCellTitleSubMoney.titleLbl setText:[[tableViewData objectAtIndex:indexPath.row] objectForKey:@"title"]];
    [sizingCellTitleSubMoney.subtitleLbl setText:[[tableViewData objectAtIndex:indexPath.row] objectForKey:@"subtitle"]];
    [sizingCellTitleSubMoney.moneyLbl setText:[[tableViewData objectAtIndex:indexPath.row] objectForKey:@"cost"]];

    [sizingCellTitleSubMoney layoutIfNeeded];

    CGSize size = [sizingCellTitleSubMoney.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
    return size.height+1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    MATitleSubtitleMoneyTableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifierTitleSubTitleMoney];

    if(!cell)
    {
        cell = [[MATitleSubtitleMoneyTableViewCell alloc] init];
    } …
Run Code Online (Sandbox Code Playgroud)

objective-c uilabel ios uistoryboard autolayout

29
推荐指数
1
解决办法
2万
查看次数

iOS - 在故事板中管理代码合并的最佳实践

在xcode故事板中与许多团队成员合并会产生许多冲突等.我需要一个策略来与20个团队成员共享故事板,但要避免与在故事板中合并代码相关联的噩梦.

我想在xcode中为每个团队设置一个单独的目标,但这并不好,因为我们都需要更新所以有两个故事板并不是一个好习惯.

我的代码库是继承的.它是一个分叉的项目,故事板很重.我认为改用xib可能很难(??)

xcode storyboard git-merge ios uistoryboard

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