相关疑难解决方法(0)

如何在iOS上将UILabels中文本的基线与不同的字体大小对齐?

我需要在UILabels中对齐文本的基线.我目前正在做的是我正在调整包含文本的UILabel的基线,当两个标签中的文本字体大小不同时,这会导致对齐的UILabels基线但未对齐的文本基线(未对齐的小幅度,但仍然错位).标签包含在自定义UIView子类中,因此self引用包含的UIView.

这是相关的代码

[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];

self.mySmallLabel.frame = CGRectMake(0,     
                                     self.bounds.size.height - self.mySmallLabel.bounds.size.height, 
                                     self.mySmallLabel.bounds.size.width, 
                                     self.mySmallLabel.bounds.size.height);

self.myBigLabel.frame = CGRectMake(self.mySmallLabel.frame.origin.x + self.mySmallLabel.bounds.size.width, 
                                   self.bounds.size.height - self.myBigLabel.bounds.size.height, 
                                   self.myBigLabel.bounds.size.width, 
                                   self.myBigLabel.bounds.size.height);
[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];
Run Code Online (Sandbox Code Playgroud)

此代码导致下面链接的图像中的对齐.

Misalignemnt

如您所见,即使UILabel基线对齐,文本的基线也会略微偏移.如何动态对齐文本的基线(因为字体大小可能会在运行时更改)?

iphone ios4 ios

18
推荐指数
3
解决办法
2万
查看次数

UILabels用不同的字体底部对齐的方法是什么?

我在自定义UITableViewCell的contentView中有一个UILabel数组.通过排序来确定每个标签的字体大小以形成标签云.在设置单元格(行)的方法中,我遍历适合该行的单词对象,为每个UILabel设置框架,如下所示:

CGRect theFrame = CGRectMake(xPosAdjuster,
    theWordRow.rowHeight - thisWord.lblHeight,
    thisWord.lblWidth,
    thisWord.lblHeight);
UILabel *myLabel = [[UILabel alloc] initWithFrame:theFrame];
Run Code Online (Sandbox Code Playgroud)

这会使标签的帧对齐(请参见下图),但不幸的是,标签的填充是字体大小的函数.

替代文字

有没有办法删除UILabel上的填充(边框)和/或完全计算它,以便我可以相应地调整帧的y位置?

谢谢

iphone cocoa-touch uitableview uilabel

8
推荐指数
2
解决办法
4698
查看次数

标签 统计

iphone ×2

cocoa-touch ×1

ios ×1

ios4 ×1

uilabel ×1

uitableview ×1