从不兼容的类型分配给'NSLineBreakMode'

时间:2013-02-07 14:33:39

标签: iphone ios uilabel xcode4.6

将我的xcode 4.5更新为4.6 ....

lblMyLable.lineBreakMode = UILineBreakModeWordWrap;
textFieldRounded1.textAlignment = UITextAlignmentLeft;

停止工作并显示不兼容的错误...它们在xcode更新之前的2天之前工作正常。

P.S: - lblMyLable是UILabel& textFieldRounded1是一个UITextField

我正在使用6.1 IOS sdk

2 个答案:

答案 0 :(得分:2)

在iOS 6中,您需要使用NSLineBreakByWordWrapping。 而不是:

lblMyLable.lineBreakMode = UILineBreakModeWordWrap;
textFieldRounded1.textAlignment = UITextAlignmentLeft;

使用:

lblMyLable.lineBreakMode = NSLineBreakByWordWrapping;
textFieldRounded1.textAlignment = NSTextAlignmentLeft;

详细

  

<强> lineBreakMode

     

用于包装和截断标签文本的技术。   @property(nonatomic) NSLineBreakMode lineBreakMode;

     

<强>讨论

     

如果您在iOS 6或更高版本中使用样式文本,请指定新值   到此属性导致换行模式应用于   attributionText属性中的整个字符串。如果你想   将换行模式仅应用于文本的一部分,创建一个新的   将字符串与所需的样式信息相关联并将其关联   与标签。如果您没有使用样式文本,则此属性   适用于text属性中的整个文本字符串。

     

此属性在正常绘图和情况下均有效   必须减少字体大小以适应其中的标签文本   边界框。此属性设置为NSLineBreakByTruncatingTail by   默认值。

     

重要说明:如果将此属性设置为导致文本换行的值   到另一行,设置任何一个程序员错误   adjustsFontSizeToFitWidth或adjustsLetterSpacingToFitWidth属性   是的。

     

特别注意事项

     

在iOS 5及更早版本中,此属性的类型为UILineBreakMode。   可用性

Available in iOS 2.0 and later.

  

<强> NSLineBreakMode

     

这些常量指定当一行太长时会发生什么   容器

enum {   
   NSLineBreakByWordWrapping = 0,   
   NSLineBreakByCharWrapping,
   NSLineBreakByClipping,    
   NSLineBreakByTruncatingHead,   
   NSLineBreakByTruncatingTail,    
   NSLineBreakByTruncatingMiddle
 };
 typedef NSUInteger NSLineBreakMo
     

<强>常量

     

<强> NSLineBreakByWordWrapping

Wrapping occurs at word boundaries, unless the word itself doesn’t fit on a single line.

Available in iOS 6.0 and later.

Declared in NSParagraphStyle.h.
     

<强> NSLineBreakByCharWrapping

Wrapping occurs before the first character that doesn’t fit.

Available in iOS 6.0 and later.

Declared in NSParagraphStyle.h.
     

<强> NSLineBreakByClipping

Lines are simply not drawn past the edge of the text container.

Available in iOS 6.0 and later.

Declared in NSParagraphStyle.h.
     

<强> NSLineBreakByTruncatingHead

The line is displayed so that the end fits in the container and the missing text at the beginning of the line is indicated by an
     

省略号字形。虽然此模式适用于多行文本,但它是   更常用于单行文字。

Available in iOS 6.0 and later.

Declared in NSParagraphStyle.h.
     

<强> NSLineBreakByTruncatingTail

The line is displayed so that the beginning fits in the container and the missing text at the end of the line is indicated by an
     

省略号字形。虽然此模式适用于多行文本,但它是   更常用于单行文字。

Available in iOS 6.0 and later.

Declared in NSParagraphStyle.h.
     

<强> NSLineBreakByTruncatingMiddle

The line is displayed so that the beginning and end fit in the container and the missing text in the middle is indicated by an
     

省略号字形。虽然此模式适用于多行文本,但它是   更常用于单行文字。

Available in iOS 6.0 and later.

Declared in NSParagraphStyle.h.

请查看UILabel Class了解详情。 另请检查UITextField Class以获取NSTextAlignment值和详细信息。

答案 1 :(得分:1)

它们都已在iOS 6中弃用;

UILineBreakModeWordWrap已替换为NSLineBreakByWordWrapping

UITextAlignmentLeft已被NSTextAlignmentLeft

取代