Iphone 如何使Autoresize属性在Xcode 4.3中工作?

Iphone 如何使Autoresize属性在Xcode 4.3中工作?,iphone,xcode,cocoa,uilabel,Iphone,Xcode,Cocoa,Uilabel,我最近更新了Xcode 4.3,它禁用了UILabels的自动收缩属性。我重新检查了IB中的框并重建了项目,但它仍在删除文本。有什么建议吗?这是已知的bug吗?有没有办法通过编程解决这个问题。我遇到了完全相反的问题!我更新到了Xcode 4.3,现在当我希望tableview单元格用省略号截断时,它会自动收缩单元格中的文本。我浏览了故事板,修改了所有可能与之相关的选项,但它拒绝做我想做的事情。太令人沮丧了 编辑 尝试重新创建Xcode对我所做的事情,因为它与发生在你身上的事情相反。在故事板中突出

我最近更新了Xcode 4.3,它禁用了UILabels的自动收缩属性。我重新检查了IB中的框并重建了项目,但它仍在删除文本。有什么建议吗?这是已知的bug吗?有没有办法通过编程解决这个问题。

我遇到了完全相反的问题!我更新到了Xcode 4.3,现在当我希望tableview单元格用省略号截断时,它会自动收缩单元格中的文本。我浏览了故事板,修改了所有可能与之相关的选项,但它拒绝做我想做的事情。太令人沮丧了

编辑


尝试重新创建Xcode对我所做的事情,因为它与发生在你身上的事情相反。在故事板中突出显示用于tableview的原型单元格,然后单击“标题”和“副标题”单词。您可以在attributes inspector中找到AutoShrinking属性,我想您可以通过取消选中此框并重建应用程序来解决问题。很奇怪Xcode升级会导致这种情况。这也导致我的应用程序表现得有点奇怪(即在模拟器中运行时意外崩溃),但一些清理和重建解决了这一问题。希望你能解决这个问题,因为我知道这对我来说同样令人沮丧

我也看到了同样的事情。您可以通过编程方式解决此问题(我在viewDidLoad中执行此操作):


它只是对我做了同样的事情。所有自动收缩功能都已关闭。重新设置字体大小并启用自动收缩功能实际上不起作用


我必须按照JLundell的建议以编程方式修复它。

我也遇到了同样的问题。这是修复方法,我将其添加到一个实用方法中,因为我的项目中有100多个XIB,其中许多需要修复。效果很好

myLabel.adjustsFontSizeToFitWidth = YES;
将此添加到Utility.m:

// UIView+viewRecursion.h
@interface UIView (viewRecursion)
- (NSMutableArray*) allSubViews;
@end
// UIView+viewRecursion.m
@implementation UIView (viewRecursion)
- (NSMutableArray*)allSubViews
{
    NSMutableArray *arr=[[NSMutableArray alloc] init];
    [arr addObject:self];
    for (UIView *subview in self.subviews)
    {
        [arr addObjectsFromArray:(NSArray*)[subview allSubViews]];
    }
    return arr;
}
@end
这是:

  +(void)fixLabels:(UIView *)theView{

    for(UIView *v in [theView allSubViews])
    {
        if([v isKindOfClass:[UILabel class]])
        {
            if( !((UILabel*)v).adjustsFontSizeToFitWidth ){
                ((UILabel*)v).adjustsFontSizeToFitWidth=YES;
                //  NSLog(@"fixed %@", theView);
            }
        }
    }
}
然后从viewDidLoad为任何具有非自动收缩UILabel的视图调用fixLabels:

[Utility fixLabels:self.view];

Xcode 4.3不遵守adjustsFontSizeToFitWidth属性的接口生成器设置

您可以按照JLundell的建议通过编程方式设置属性值来修复它

myLabel.adjustsFontSizeToFitWidth = YES;

它已在4.3.1中修复

您是否尝试过以编程方式设置
UILabel
AutoResizingTask
?AutoResizingTask不起作用。在XIB中选择了adjustsFontSizeToFitWidth,但当应用程序运行时,它将被忽略。导致这个问题的是Xcode 4.3。所以车,同意,这是超车。IB不会保持一致性。。。如果我选中复选框,它就会取消选中,反之亦然……哎呀,我想我解决了自己的问题。实际上,我必须在Xcode中打开自动收缩功能,并将最小大小设置为我的文本大小。那太蠢了。哦,Xcode 4.3的缺陷并没有为我解决。每次我构建它都会取消选择自动调整大小功能,如果我硬编码它就会忽略它。。。不过,很高兴你的工作正常!这就成功了!!虽然我使用了
[myLabel setAdjustsFontSizeToFitWidth:YES]因为我认为苹果希望我们“设置”这样的属性。我也遇到过同样的问题,以前也提交过雷达()。这个问题似乎已经在XCode 4.3.1中修复。