我正在关注Ray Wenderlich关于实现rateView的教程:http://www.raywenderlich.com/1768/how-to-make-a-custom-uiview-a-5-star-rating-view
在我的应用程序中实现了rateView之后,我收到了这个错误:
无法同时满足约束条件。 可能至少下列列表中的一个约束是您不想要的约束。试试这个:(1)看看每个约束并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它。 (注意:如果你看到你不理解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)
( “NSAutoresizingMaskLayoutConstraint:0x870c2b0 h = - & v = - & V:[UIView:0x93a1d60(416)]”, “NSLayoutConstraint:0x87363c0 V:| - (203) - [RateView:0x8729040](姓名:'|':UIView:0x93a1d60)”, “NSLayoutConstraint:0x8736440 V:[RateView:0x8729040] - (228) - |(Names:'|':UIView:0x93a1d60)” )
将尝试通过违反约束来恢复 NSLayoutConstraint:0x8736440 V:[RateView:0x8729040] - (228) - | (名称:'|':UIView:0x93a1d60)
中断objc_exception_throw以在调试器中捕获它。 UIKit / UIView.h中列出的UIView上的UIConstraintBasedLayoutDebugging类别中的方法也可能有所帮助。
我下载了Ray提供的示例应用,它对我来说非常合适,没有错误。搜索完代码后,我没有看到任何差异,我在Interface Builder中的连接与他的相同。一个显着的区别在于我们各自的费率观点的规模检查员。他看起来像这样:
虽然我看起来像这样:
考虑到错误与约束有关,这可能就是问题所在。但是,我不知道如何将我的rateview更改为autoresizing,如Ray's。帮助
答案 0 :(得分:4)
新Xcode 5具有新功能,可以从不同的constaint值中了解我们。我非常欣赏这个功能,它减少了故事板和模拟器和/或设备之间的错误和差异。
尝试遵循黄色三角形。当故事板查看器打开时,它位于左侧边栏中。它带来了三种解决方案,如何解决问题,并且可以很好地自动完成。
所以只需更新Frame,Constraints或重置为建议的约束。
<强> SOLUTION:强>
(如果您没有看到左侧边栏,则在新的xcode 5中可能会隐藏,只需点击播放图标):
首先按照黄色箭头
然后按照黄色方法点击它,你会得到一个对话框:
答案 1 :(得分:4)
取消选中“使用Autolayout”并尝试....
答案 2 :(得分:0)
这是AutoLayout constraints
的错误您必须检查视图的XIB中使用的约束。修复这些约束,然后您的项目将正常工作。希望这会帮助你。
答案 3 :(得分:0)
将底部空间的优先级更改为:superview或Top space to:superview from default required(1000)to High(750)。