iOS 知识点相同和不同之处

1. UILabel 和 UITextView 比较

          UITextView  是 UILabel 的加强版本,比UILabel支持的功能更多。  

         以下是UI的实际运行效果所对应的区别:

-iOS 知识点相同和不同之处_第1张图片                                                                                                                                                                   

   对应代码:

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UITextView * textView = [[UITextView alloc] initWithFrame:CGRectMake(40, 50, 300, 100)];
    textView.text = @"UILabel和UITextView的区别:两者都可以用于展示文本内容,不同点是UITextView还有其它UILabel所没有的功能呢:1:当文本内容过长的时候,UILabel会使用省略号来省略;UITextView会采用滚动条的方式来展示剩下的内容;\n 2:UILabel长按不会弹出编辑菜单条,而UITextView会弹出编辑菜单条(Cut Copy Past Replace...等)\n 3:UILabel的文本内容不可以进行修改而UITextView是可以直接进行修改的,可以直接写入和删除";
    textView.indicatorStyle = UIScrollViewIndicatorStyleBlack;
    textView.showsVerticalScrollIndicator = YES;
    [self.view addSubview:textView];
    
    UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(40, 250, 300, 100)];
    label.text = @"UILabel和UITextView的区别:两者都可以用于展示文本内容,不同点是UITextView还有其它UILabel所没有的功能呢:1:当文本内容过长的时候,UILabel会使用省略号来省略;UITextView会采用滚动条的方式来展示剩下的内容;\n 2:UILabel长按不会弹出编辑菜单条,而UITextView会弹出编辑菜单条(Cut Copy Past Replace...等)\n 3:UILabel的文本内容不可以进行修改而UITextView是可以直接进行修改的,可以直接写入和删除";
    label.numberOfLines = 0;
    [label sizeToFit];
    [self.view addSubview:label];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

2.- (void)sizeToFit 和 - (CGSize)sizeThatFits:(CGSize)size 的区别

   一.图解

    单行UILabel

    

   多行UILabel

 iOS 知识点相同和不同之处_第2张图片

单行UILabel sizeThatFits:CGSizeZero  

多行UILabel sizeThatFits:CGSizeZero(label.frame.size.width, 0)  将宽度作为参数,这样计算出的高度才正确


你可能感兴趣的:(iOS 知识点相同和不同之处)