UILabel的文字在左上角显示

简介: UILabel的文字在左上角显示

UILabel的文字在左上角显示


你会不会发现有个问题 就是如果你设置的UILabel高度比较大时候,文字会显示在高度的中间,而不是在左上角

比如这个样子


2193f98f83b239b5159b92abb147c144.png

Snip20170918_2.png


但是我们需要的UILabel的高度就是要这么高,因为我们需要换行,而且文字会有很多,但是如果文字不多时候,就出现上面这个问题,

看我项目中的效果

a34e0fd1a814fd153107457c37a947d7.png

Snip20170918_3.png

UILabel的文字默认是靠左居中显示的,但是并没有属性让它显示在左上角,仔细想想,我们以前自定义UIButton那就很容易改变按钮里面的图片和文字的位置,所以我也是采用自定义UILabel来解决需求的

继成UILabel然后在.m文件重新下面三个方法即可

- (id)initWithFrame:(CGRect)frame {
    return [super initWithFrame:frame];
}
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {
    CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];
    textRect.origin.y = bounds.origin.y;
    return textRect;
}
-(void)drawTextInRect:(CGRect)requestedRect {
    CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines];
    [super drawTextInRect:actualRect];
}

效果如下:

1513fe0c362ae2390082fa5cdb1b3316.png

Snip20170918_4.png

代码留给你喜欢和点赞留给我

http://git.oschina.net/lanyingwei/codes/c5aoquidgvyn0ptkx42w127

相关文章
|
Swift iOS开发
iOS @available 和 #available 的用法
iOS @available 和 #available 的用法
846 0
|
JSON Dart API
Flutter 使用图片和资源
Flutter 使用图片和资源
547 2
Flutter 使用图片和资源
|
安全 Windows
Microsoft Windows远程桌面服务远程执行代码漏洞(CVE-2019-0708)
Microsoft Windows远程桌面服务远程执行代码漏洞(CVE-2019-0708)
960 2
|
存储 前端开发
Flutter Provider状态管理---MVVM架构实战
Flutter Provider状态管理—MVVM架构实战 在Flutter中,状态管理是一个非常重要的概念。Flutter Provider是一种状态管理的解决方案,它提供了一种简单,灵活和高效的方法来管理Flutter应用程序中的状态。本文将详细介绍Flutter Provider的使用,以及如何在MVVM架构中使用它。
922 0
|
存储 iOS开发 Perl
ios-解决报错-CocoaPods could not find compatible versions for pod “xxx“
ios-解决报错-CocoaPods could not find compatible versions for pod “xxx“
1264 2
|
Dart 监控 开发者
详细介绍Flutter Profiler的功能、使用方法以及如何利用它来提升应用的性能
【6月更文挑战第11天】Flutter Profiler是用于优化Flutter应用的关键工具,提供CPU、GPU、内存和网络分析。它帮助开发者监控运行时性能,识别瓶颈,如CPU过度使用、渲染问题、内存泄漏和网络效率低。通过选择分析类型、开始分析、查看结果,开发者可进行针对性优化。最佳实践包括定期分析、结合实际场景、关注关键指标及结合其他工具。有效利用Profiler能提升应用性能和用户体验。
718 2
Flutter 状态管理新境界:多Provider并行驱动UI
Flutter 状态管理新境界:多Provider并行驱动UI
338 0
|
缓存 监控 前端开发
【Flutter前端技术开发专栏】Flutter应用的性能调优与测试
【4月更文挑战第30天】本文探讨了Flutter应用的性能调优策略和测试方法。性能调优对提升用户体验、降低能耗和增强稳定性至关重要。优化布局(避免复杂嵌套,使用`const`构造函数)、管理内存、优化动画、实现懒加载和按需加载,以及利用Flutter的性能工具(如DevTools)都是有效的调优手段。性能测试包括基准测试、性能分析、压力测试和电池效率测试。文中还以ListView为例,展示了如何实践这些优化技巧。持续的性能调优是提升Flutter应用质量的关键。
555 0
【Flutter前端技术开发专栏】Flutter应用的性能调优与测试
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter中的性能分析工具Profiler
【4月更文挑战第30天】Flutter Profiler是用于性能优化的关键工具,提供CPU、GPU、内存和网络分析。它帮助开发者识别性能瓶颈,如CPU过度使用、渲染延迟、内存泄漏和网络效率低。通过实时监控和分析,开发者能优化代码、减少内存占用、改善渲染速度和网络请求,从而提升应用性能和用户体验。定期使用并结合实际场景与其它工具进行综合分析,是实现最佳实践的关键。
1107 0
【Flutter前端技术开发专栏】Flutter中的性能分析工具Profiler
|
Shell Android开发 Python
Flutter如何正确使用图片资源
Flutter如何正确使用图片资源
310 0