Tag: 自动

'NSInvalidArgumentException',原因:'无法parsing约束格式'

我有一个子视图,我想在旋转屏幕期间保持停止,所以我决定把NSLayoutConstrainttypes: 尾随空间来监视 顶层空间到Superview button空间Superview 我在UITableViewCell的子类中。 我写了代码,但我得到以下错误: 'NSInvalidArgumentException', reason: 'Unable to parse constraint format: self is not a key in the views dictionary. H:[self.arrows]-5-| 我在CustomCell.m中的代码是: self.arrows = [[Arrows alloc]initWithFrame:CGRectMake(self.contentView.bounds.size.width-30, self.bounds.origin.y+4, 30, self.contentView.bounds.size.height-4)]; NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(self.arrows, self.contentView); NSMutableArray * constraint=[[NSMutableArray alloc]init]; [constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H: [self.arrows]-5-|" options:0 metrics:nil views:viewsDictionary]]; [constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-1-[self.arrows]" options:0 metrics:nil views:viewsDictionary]]; [constraint addObjectsFromArray:[NSLayoutConstraint […]

自定义UITableViewCell中的多个UILabel

在我创build的这个iOS 8应用程序中,我有一个tableview,我需要它们自我resize。 我使用自动布局实现它,它的工作原理。 几乎。 这是现在的样子。 单元格内有3个标签。 有lorem ipsum文本的主要标签。 带有数字串的字幕(这是两个单独的标签,因为它们具有相同的颜色可能会令人困惑)。然后是带有小黑色文本的第三个标签。 第一个标签正确resize,没有问题,第二个标签相应地上下移动。 但问题在于第三个小标签。 正如你所看到的,它不会调整自己以适应所有的文本。 现在有一个奇怪的事情发生。 我把它变成风景,就是这样。 由于有空间标签正在显示其应该的整个文本。 精细。 然后我把它转回到肖像。 现在,小标签已经调整了自己的大小,以适应所有的文本,但它溢出了单元格边界。 我试图让这个单元格更大,但没有奏效。 由于这是自我大小细胞,我不认为这是正确的方式。 我没有得到任何错误,甚至在我的自动布局约束的警告。 我已经在viewDidLoad()方法中设置了这两行代码。 tableView.estimatedRowHeight = 100 tableView.rowHeight = UITableViewAutomaticDimension 任何人都可以告诉我,我可能在这里做错了吗? 由于仅仅通过查看图片很难回答,而且我没有更多的代码来发布上面的代码片段,所以我上传了一个可运行的Xcode项目来演示这个问题。 (有2个自定义的单元格,基本上它的同一个单元格的高度在第二个增加。) 我一直摆弄自动布局约束,但我似乎无法得到这个工作。 任何帮助,将不胜感激。 谢谢。 更新: 在本教程的帮助下,我find了一些有用的指针。 据此,每个子视图都应该有一个约束,它的所有方面都应该有自上而下的约束,这有助于自动布局来计算单元的高度。 在我原来的文章,我有每个标签之间的垂直空间,所以我认为这是自动布局无法计算适当的高度的原因。 所以我做了一些改变。 我将标签之间的垂直空间缩小到0,并设置顶部和中间标签以及中间和底部标签之间的垂直空间约束。 我向顶部标签添加了领先的顶部尾随限制。 领先和尾随中间的标签。 领先,底部,尾随底部的标签。 现在这是另一个奇怪的部分。 当我第一次运行它,底部标签修剪问题仍然存在。 但是,如果我将设备旋转到横向并将其重新转换为纵向,则所有单元格都将正确resize以适应两个标签! 不过还是不明白为什么这一开始不会发生。 更新的Xcode项目在这里 。

尾部返回types语法样式应该成为新的C ++ 11程序的默认值?

C ++ 11支持一个新的函数语法: auto func_name(int x, int y) -> int; 目前这个函数将被声明为: int func_name(int x, int y); 新的风格似乎还没有被广泛采用(比如在gcc stl中) 但是,在新的C ++ 11程序中是否应该使用这种新的风格,还是只在需要时使用? 就个人而言,我更喜欢旧的风格,但一个混合风格的代码库看起来很丑。

C ++ 11 auto:如果它获得一个常量引用呢?

请看下面的简单代码: class Foo { public: Foo(){} ~Foo(){} Foo(const Foo&){} Foo& operator=(const Foo&) { return *this; } }; static Foo g_temp; const Foo& GetFoo() { return g_temp; } 我试图使用这样的auto : auto my_foo = GetFoo(); 我预计my_foo将是一个常量引用Foo ,这是函数的返回types。 但是, auto的types是Foo ,而不是参考。 而且,通过复制g_temp来创buildmy_foo 。 这种行为对我来说并不明显。 为了得到对Foo的引用,我需要这样写: const auto& my_foo2 = GetFoo(); auto& my_foo3 = GetFoo(); 问题 :为什么auto GetFoo的返回types作为一个对象进行推导,而不是引用?

在代码中创build自动布局约束到topLayoutGuide和bottomLayoutGuide

有关在视图和其中一个布局指南之间创build自动布局约束的Apple 文档仅显示使用VFL的示例。 有没有办法创build这些约束没有 VFL编程(使用NSLayoutConstraint的其他API或类似的)? (注意:我特别要求在代码中这样做,而不是在Interface Builder中,而且我不希望将指南的计算length作为约束的静态常量,我想要一个约束来更改布局指南长度会自动导致受限视图调整位置。)

Java中有自动types推断吗?

Java中有像C ++中那样的autovariablestypes吗? 一个例子: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); 我知道在Java中有一个增强的循环,但有一个汽车? 如果没有,是否有这样做的黑客? 我指的是C ++ 11中的新function

使用“自动”types演绎 – 如何找出编译器推断的types?

怎样才能找出编译器在使用auto关键字时推导出的types? 示例1:更简单 auto tickTime = 0.001; 这是推断为一个float或double? 例2:更复杂(和我目前的头痛): typedef std::ratio<1, 1> sec; std::chrono::duration<double, sec > timePerTick2{0.001}; auto nextTickTime = std::chrono::high_resolution_clock::now() + timePerTick2; nextTickTime是什么types? 我遇到的问题是当我尝试发送nextTickTime到std::cout 。 我得到以下错误: ./main.cpp: In function 'int main(int, char**)': ./main.cpp:143:16: error: cannot bind 'std::basic_ostream<char>' lvalue to 'std::basic_ostream<char>&&' std::cout << std::setprecision(12) << nextTickTime << std::endl; // time in seconds ^ In file included […]

新的关键字“自动”; 什么时候应该用来声明一个variablestypes?

可能重复: 用C ++ 0x auto关键字多less钱 我们(作为一个社区)是否有足够的经验来确定汽车何时和/或是否被滥用? 我真正想要的是一个最佳实践指南 何时使用自动 何时应该避免 简单的经验法则可以在80%的案件中迅速得到遵守。 作为一个背景,这个问题是由我在这里的回应引发的

宽度和高度等于它的超级查看使用自动布局编程?

我一直在寻找networking中的很多片段,我仍然无法find我的问题的答案。 我的问题是我有一个scrollView(SV),我想要在scrollView(SV)内以编程方式添加一个button,它的超级视图的scrollView(SV)的宽度和高度相同,这样当用户旋转设备button时将会有相同的框架scrollView(SV)的。 如何做NSLayout / NSLayoutConstraint? 谢谢

在Xcode 5中为超级视图添加间隔约束

我正在Xcode 5中构build一个iOS应用程序,并且在添加布局约束时遇到了问题。 在Xcode 4.x中,我可以添加前导/尾随/顶部/底部空间到容器(超级视图)到任何UI元素。 现在,我只有这个选项: 我想在我的文本视图中添加一个“底部空间超级查看”约束。 它说“间隔到最近的邻居”,但我不想创build一个“最近邻居”的约束,我有我的文本视图下的其他东西,我不想创build一个约束。 如果在我的文本视图下没有其他对象,它会正确地向容器添加一个约束。 但是,如果我尝试改变任何东西,所有东西都会弄乱:我需要将所有视图移动到其他位置,然后添加约束,然后添加其他视图。 如果我在文本视图和UI元素(在本例中是一个button)之间添加一个约束,它不起作用(一切似乎都是正确的:button对superview的底部有一个约束,而text view有一个垂直间距约束button,并没有冲突的约束)。 UI元素以不同的(3.5英寸)屏幕方向出现在屏幕边界之外。 Interface Builder是否存在错误,或者我错过了什么? 当我可以正确设置所有东西的时候,当我调整界面生成器屏幕的大小时,我的控件仍然显得不合常理,但是在3.5英寸的模拟器/设备上正确显示。 在Xcode 5中使用新的Interface Builder约束来deviseUI的“最佳实践”是什么? 更新:我在另一个项目中遇到了一些麻烦。 我试图通过CTRL-将我的控件拖到它所说的“顶部布局指南”的位置来修正视图的顶部到顶部布局指南,它试图将布局指南的底部控制到约-470点)而不是控制我的顶部,这是没有任何意义的,因为控制应该布置在变高度屏幕(例如普通和4英寸的iPhone,以及未来可能的其他布局)。 以下是正在发生的事情的屏幕截图: 而我正在受到限制: 如何使Interface Builder将视图的顶部alignment到顶部布局指南? 更新2:我find了一个解决方法。 我首先调整视图的大小以降低它的高度(所以它的顶部不会重叠,或者非常接近顶部布局指南),然后按CTRL +将其拖动到顶部布局指南。 它似乎正常工作。 连接后,我再次调整我的视图到所需的大小,并selectUpdate Constraints 。 它的工作,但它仍然不是一个解决scheme,因为它需要调整视图,连接,再次resize,并更新约束。