2

将我的 xcode 4.5 更新到 4.6 后 ....

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

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

PS:- lblMyLable 是一个 UILabel & textFieldRounded1 是一个 UITextField

我正在使用 6.1 IOS sdk

4

2 回答 2

2

在 iOS 6 中,您需要使用 NSLineBreakByWordWrapping。代替:

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

利用:

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

细节

换行模式

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

讨论

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

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

重要提示:如果此属性设置为导致文本换行的值,则将adjustsFontSizeToFitWidth 或adjustsLetterSpacingToFitWidth 属性设置为YES 是程序员错误。

特别注意事项

在 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 类以获取更多详细信息。还要检查UITextField 类以获取 NSTextAlignment 值和详细信息。

于 2013-02-07T14:35:38.357 回答
1

它们都在 iOS 6 中被弃用;

UILineBreakModeWordWrap已被替换NSLineBreakByWordWrapping

UITextAlignmentLeft已被替换为NSTextAlignmentLeft

于 2013-02-07T14:57:58.580 回答