uilabel 视图未向右对齐

Posted

技术标签:

【中文标题】uilabel 视图未向右对齐【英文标题】:uilabel view not aligning to right 【发布时间】:2016-04-28 10:17:47 【问题描述】:

我什么都试过了

textLabel.textAlignment =NSTextAlignmentRight;

但我的代码似乎没有任何效果。在单元格内forrawatindexpath

- (UITableViewCell *)tableView:(UITableView *)myTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

    UITableViewCell *cell = (UITableViewCell *)[self.messageList dequeueReusableCellWithIdentifier:@"ChatListItem"];

    if (cell == nil) 
            NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"OutGoing" owner:self options:nil];
        
        cell = (UITableViewCell *)[nib objectAtIndex:0];
    
    textLabel = (UILabel *)[cell viewWithTag:1];
            textLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"chat_b2.png"]];
            textLabel =[[UILabel alloc] initWithFrame:CGRectMake(21,12, 241,30)];
    NSString * test=[[rssOutputData objectAtIndex:indexPath.row]xml_msg];
    textLabel.text = test;
    textLabel.numberOfLines = 0;
    [textLabel sizeToFit];
    [cell addSubview:textLabel];
    return cell;

这里是截图:

在这里你可以看到(红色)文本左对齐我希望它右对齐请帮我解决这个问题。

【问题讨论】:

你把那个标签放在哪里。 ?你在使用什么 Autolayout/AutoResizing .. ? 使用自动调整大小 此方法已过时。是时候使用 autoLayout 了。请查看apple documentation。试试看吧! 【参考方案1】:

使用[textLabel sizeToFit] 标签框架将调整大小以使文本适合其中,因此您的标签宽度将与文本相同并且向右对齐将使文本留在原处。评论这一行,它会工作。

编辑:

[textLabel sizeToFit];
[textLabel setFrame:CGRectMake(21,12,241,textLabel.frame.size.height)];

【讨论】:

@VixHunk 在模拟器中转到下拉菜单调试并打开“颜色混合图层”,这将为您提供标签准确位置及其大小的线索 是的,你是对的,但是当我评论 [textLabel sizeToFit] 时,每条完整的消息都在一行中起作用。 @VixHunk 太好了,我很高兴听到它 :)【参考方案2】:

如果您使用sizetoFit,那么您的标签大小将根据内容大小而减小。这不是对齐问题。删除此行,然后添加 textLabel.textAlignment =NSTextAlignmentRight; 并检查它应该可以工作。

【讨论】:

【参考方案3】:

您总是将 textLabel 框架设置为以下框架:

textLabel =[[UILabel alloc] initWithFrame:CGRectMake(21,12, 241,30)];

所以只有标签出现在左边。尝试根据发送/接收消息更改标签框。

希望对你有帮助..

【讨论】:

【参考方案4】:

您的标签是对您给定框架的约束

textLabel =[[UILabel alloc] initWithFrame:CGRectMake(21,12, 241,30)];

所以它与您给出的框架右对齐,即您的标签与特定宽度对齐,即 30 ......您应该给标签的宽度等于单元格的宽度,并且然后它将根据您的单元格右对齐。

【讨论】:

以上是关于uilabel 视图未向右对齐的主要内容,如果未能解决你的问题,请参考以下文章

UILabel 对齐并将一个视图移动到不同大小类中的另一个视图

在使用视图 iOS 滚动 uilabel 时保持标签文本与屏幕中心对齐?

如何将 UIButton 文本与 UILabel 文本垂直对齐?

点击单元格时,UILabel 向右移动

在堆栈视图中创建UILabel互相拥抱

两个具有不同字体大小的自动布局 UILabel:文本顶部对齐