首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何修复它,使我的文本标签不会被切断在顶部时,以编程方式添加文本标签?

我如何修复它,使我的文本标签不会被切断在顶部时,以编程方式添加文本标签?
EN

Stack Overflow用户
提问于 2020-02-19 20:27:09
回答 1查看 54关注 0票数 0

我已经以编程方式添加了一个label,它工作得很好,除了像å, ä, ö这样的本地字符在顶部会被截断。即使我将_nothingToShow.lineBreakMode = NSLineBreakByClipping;更改为NSLineBreakByCharWrapping,也是如此。

我这样设置标签:

代码语言:javascript
运行
复制
-(void)setupNoOldExcursionsView {
    _myView = [[UIView alloc] initWithFrame:self.view.frame];
    _myView.backgroundColor = [UIColor whiteColor];
    [self.view addSubview: _myView];

    [self.view bringSubviewToFront: _myView];

    if (@available(iOS 11.0, *)) {
        _nothingToShow = [[UILabel alloc] init];

        [self generalLabelSetUp];

        _myView.translatesAutoresizingMaskIntoConstraints = NO;
        _nothingToShow.translatesAutoresizingMaskIntoConstraints = NO;

        UILayoutGuide *g = self.view.safeAreaLayoutGuide;

        [NSLayoutConstraint activateConstraints:@[
               [_myView.topAnchor constraintEqualToAnchor:g.topAnchor constant:0.0],
               [_myView.bottomAnchor constraintEqualToAnchor:g.bottomAnchor constant:0.0],
               [_myView.leadingAnchor constraintEqualToAnchor:g.leadingAnchor constant:0.0],
               [_myView.trailingAnchor constraintEqualToAnchor:g.trailingAnchor constant:0.0],

               [_nothingToShow.centerXAnchor constraintEqualToAnchor: _myView.centerXAnchor],
               [_nothingToShow.centerYAnchor constraintEqualToAnchor: _myView.centerYAnchor],
               [_nothingToShow.leadingAnchor constraintEqualToAnchor: _myView.leadingAnchor constant:0],
               [_nothingToShow.trailingAnchor constraintEqualToAnchor: _myView.trailingAnchor constant:0]
           ]];
    }
}

并设置label

代码语言:javascript
运行
复制
-(void)generalLabelSetUp {
      _nothingToShow.text = NSLocalizedString(@"NoExcursions", @"");
      _nothingToShow.textColor = [UIColor blackColor];
      _nothingToShow.textAlignment = NSTextAlignmentCenter;
      [_nothingToShow setNumberOfLines: 0];
//      _nothingToShow.lineBreakMode = NSLineBreakByClipping;
        _nothingToShow.lineBreakMode = NSLineBreakByCharWrapping;

      [_nothingToShow setCenter: CGPointMake(_noOldExcursions.center.x, _noOldExcursions.center.y - 40)];

      _nothingToShow.font = [UIFont apolloNoExperiences];
      _nothingToShow.textColor = [UIColor apolloBlueColor];

      [_noOldExcursions addSubview:_nothingToShow];
  }

如何确保文本不会被截断?我是否以某种方式设置了label的高度?或者缩小文本以适合标签?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-19 20:54:07

尝试添加顶部和底部约束常量值,如下所示:

代码语言:javascript
运行
复制
   [_myView.topAnchor constraintEqualToAnchor:g.topAnchor constant:10.0],
   [_myView.bottomAnchor constraintEqualToAnchor:g.bottomAnchor constant: -10.0],

如果这对你不起作用,那么你的问题是你用来添加标签的大陆,只是让高度更大。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60300385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档