#import
"LabelTestViewController.h"
@implementation
LabelTestViewController
/*
Accessing the Text Attributes
text property
font property
textColor property
textAlignment property
lineBreakMode property
enabled property
Sizing the Label’s Text
adjustsFontSizeToFitWidth property
baselineAdjustment property
minimumFontSize property 无例
numberOfLines property
Managing Highlight Values
highlightedTextColor property
highlighted property
Drawing a Shadow
shadowColor property
shadowOffset property
Drawing and Positioning Overrides
– textRectForBounds:limitedToNumberOfLines: 无例
– drawTextInRect: 无例
Setting and Getting Attributes
userInteractionEnabled property
*/
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void
)viewDidLoad {
UILabel
*label1 = [[UILabel
alloc
]initWithFrame
:CGRectMake
(50.0
, 20.0
, 200.0
, 50.0
)];
UILabel
*label2 = [[UILabel
alloc
]initWithFrame
:CGRectMake
(50.0
, 80.0
, 200.0
, 50.0
)];
UILabel
*label3 = [[UILabel
alloc
]initWithFrame
:CGRectMake
(50.0
, 140.0
, 200.0
, 50.0
)];
UILabel
*label4 = [[UILabel
alloc
]initWithFrame
:CGRectMake
(50.0
, 200.0
, 200.0
, 50.0
)];
UILabel
*label5 = [[UILabel
alloc
]initWithFrame
:CGRectMake
(50.0
, 260.0
, 200.0
, 50.0
)];
UILabel
*label6 = [[UILabel
alloc
]initWithFrame
:CGRectMake
(50.0
, 320.0
, 200.0
, 50.0
)];
UILabel
*label7 = [[UILabel
alloc
]initWithFrame
:CGRectMake
(50.0
, 380.0
, 200.0
, 50.0
)];
//设置显示文字
label1.text
= @"label1"
;
label2.text
= @"label2"
;
label3.
text
=
@"label3--label3--label3--label3--label3--label3--label3--label3--label3--label3--label3--";
label4.
text
=
@"label4--label4--label4--label4--";
label5.
text
=
@"label5--label5--label5--label5--label5--label5--";
label6.text
= @"label6"
;
label7.text
= @"label7"
;
//设置字体:粗体,正常的是 SystemFontOfSize
label1.font
= [UIFont
boldSystemFontOfSize
:20
];
//设置文字颜色
label1.textColor
= [UIColor
orangeColor
];
label2.textColor
= [UIColor
purpleColor
];
//设置文字位置
label1.textAlignment
= UITextAlignmentRight
;
label2.
textAlignment
=
UITextAlignmentCenter;
//设置字体大小适应label宽度
label4.
adjustsFontSizeToFitWidth =
YES
;
//设置label的行数
label5.numberOfLines
= 2
;
UIlabel.backgroudColor=[UIColor clearColor]; //可以去掉背景色
//设置高亮
label6.highlighted
= YES
;
label6.
highlightedTextColor = [
UIColor orangeColor
];
//设置阴影
label7.shadowColor
= [UIColor
redColor
];
label7.shadowOffset
= CGSizeMake
(1.0
,1.0
);
//
设置是否能与用户进行交互
label7.
userInteractionEnabled =
YES
;
//设置label中的文字是否可变,默认值是YES
label3.enabled
= NO
;
//
设置文字过长时的显示格式
label3.
lineBreakMode
=
UILineBreakModeMiddleTruncation;
//
截去中间
// typedef enum {
// UILineBreakModeWordWrap = 0,
// UILineBreakModeCharacterWrap,
// UILineBreakModeClip,//截去多余部分
// UILineBreakModeHeadTruncation,//截去头部
// UILineBreakModeTailTruncation,//截去尾部
// UILineBreakModeMiddleTruncation,//截去中间
// } UILineBreakMode;
//如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为
label4.
baselineAdjustment
=
UIBaselineAdjustmentNone;
// typedef enum {
// UIBaselineAdjustmentAlignBaselines,
// UIBaselineAdjustmentAlignCenters,
// UIBaselineAdjustmentNone,
// } UIBaselineAdjustment;
[self
.view
addSubview
:label1];
[self
.view
addSubview
:label2];
[self
.view
addSubview
:label3];
[self
.view
addSubview
:label4];
[self
.view
addSubview
:label5];
[self
.view
addSubview
:label6];
[self
.view
addSubview
:label7];
[label1 release
];
[label2 release
];
[label3 release
];
[label4 release
];
[label5 release
];
[label6 release
];
[label7 release
];
[super
viewDidLoad
];
}
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void
)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[
super
didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void
)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void
)dealloc {
[super
dealloc
];
}
@end
分享到:
相关推荐
UILabel 继承于 UIView 里的各种属性和方法使用
首先,我们创建一个扩展,添加一个方法到UILabel类中,该方法接受一个无限参数列表,每个参数对应一个UILabel的属性。例如: ```swift extension UILabel { func configure(with ...properties: (UILabel) -> Void...
对于UILabel,其文字旋转的操作与UIButton类似,但需要注意的是,UILabel没有直接提供修改`affineTransform`的属性。我们需要先获取到label的`attributedText`,然后在NSAttributedString的属性中设置旋转。我们可以...
本知识点将深入探讨如何为`UILabel`添加动态高度调整和顶端对齐等拓展属性。 首先,让我们关注动态设置label高度这一特性。在某些场景下,如显示未知长度的文本或者实时更新的内容,我们需要`UILabel`能够根据内容...
#### 二、UILabel常用属性与方法 **1. text:设置要显示的文本** - **描述**:通过设置`text`属性可以改变`UILabel`中显示的文本内容。 - **示例代码**: ```objective-c self.myLabel.text = @"我的标签~~...
使用`NSMutableAttributedString`创建富文本,然后将其设置给UILabel的`attributedText`属性。在处理这类文本时,高度自适应依然有效,但宽度可能需要手动计算或配合AutoLayout。 5. **使用IntrinsicContentSize**...
本篇文章将深入探讨如何自定义UILabel,包括但不限于属性调整、文字样式定制、动态计算尺寸以及自定义扩展。 首先,让我们了解UILabel的基本属性: 1. text:设置或获取UILabel显示的文本内容。 2. font:设置字体...
一种常见的情况是在更新UI时,如果频繁地修改UILabel的text属性,系统会不断重绘,尤其是在快速的数据刷新或者动画过程中,这种重绘行为可能导致视觉上的闪烁效果。为了解决这个问题,我们可以尝试以下方法: 1. **...
首先,创建一个手势识别器并将其添加到`UILabel`上,然后在手势识别器的回调函数中,通过比较触摸点与文本的坐标来判断用户点击了哪个部分的文本。 ```swift let tapGesture = UITapGestureRecognizer(target: self...
3. **字体与颜色**:使用`font`属性调整字体大小和样式,`textColor`设置文本颜色。 4. **对齐方式**:`textAlignment`属性控制文本的水平对齐方式,如左对齐、居中或右对齐。 5. **多行显示**:`numberOfLines`属性...
在代码中,可以使用`UILabel()`初始化一个新的标签,并通过`text`属性设置文本,`font`属性设置字体,`textColor`设置文字颜色,`textAlignment`来调整文本对齐方式。若需显示多行文本,还需设置`numberOfLines`为0...
5. **使用自定义的`DeleteLineLabel`**:现在,我们可以在代码中像使用普通`UILabel`一样使用`DeleteLineLabel`,并调用`setDeleteLine(isDeleted:)`方法来控制删除线的显示。在Swift中,示例代码如下: ```swift ...
在"UILabelTest"这个项目中,可能会包含各种UILabel的使用场景,例如响应触摸事件、动画效果、自定义视图等。你可以通过实现`UILabel`的`touchesBegan:`、`touchesMoved:`和`touchesEnded:`方法来监听用户的触摸行为...
要实现这个功能,我们可以使用`sizeThatFits(_:)`方法,传入一个足够大的尺寸来让`UILabel`自动适应高度: ```swift let label = UILabel() label.text = text label.font = font label.numberOfLines = 0 let ...
3. 如果需要限制UILabel的最大高度,可以在计算高度后与限制值进行比较,超出则截断文本或使用其他处理方式。 总之,通过Swift的`boundingRect(with:)`方法,我们可以精确地计算UILabel的宽度,结合适当的约束设置...
有了带有属性的字符串后,我们可以使用`boundingRectWithSize:options:context:`方法来获取适应特定宽度的最大尺寸。这个方法会返回一个矩形,其高度就是`UILabel`需要的高度。 ```objc - (CGSize)...
`textColor`属性是用于设置整个`UILabel`文本颜色的,通常使用`UIColor`来指定。例如,如果我们想将标签文本设置为红色,可以这样写: ```swift let label = UILabel() label.textColor = .red ``` 然而,如果希望...
在iOS开发中,UILabel...通过灵活运用这些属性,开发者可以创建出各种风格的UILabel,满足不同界面设计的需求。在实际开发中,可以根据项目的具体需求,结合Auto Layout和Size Classes来动态调整UILabel的布局和样式。
- 另一种方法是通过KVO观察UILabel的`intrinsicContentSize`属性变化,当内容变化时,根据新的intrinsicContentSize更新约束。 9. ** UIViewContentMode**: - 虽然不直接影响高度自适应,但`UIViewContentMode`...
总结一下,本例中的`ios-自定制内边距UILabel.zip`提供了自定义`UILabel`内边距的方法,通过继承和重写`UILabel`的相关方法,实现了文本的内边距功能。这有助于开发者在设计界面时拥有更多的自由度,能够根据设计...