是否可以在 Appcelerator 中确定字符串的宽度?

发布于 2024-11-09 10:31:32 字数 156 浏览 0 评论 0原文

我正在尝试确定字符串的长度,以便我可以动态布局一些标签。在 iOS 中我会使用:
CGSize 大小 = [字符串 sizeWithFont:font];
是否可以使用 Appcelerator API 来执行此操作,或者是否有其他方法来执行此类动态布局?

I'm trying to determine the length of a String so I can dynamically layout some Labels. In iOS I would use:
CGSize size = [string sizeWithFont:font];
Is it possible to do this with the Appcelerator API or is there another way to do this type of dynamic layout?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁人与我共长歌 2024-11-16 10:31:32

如果您创建具有“自动”宽度的标签,一旦构建了它们,您就可以访问它们的实际宽度并相应地定位任何其他标签:

var window = Ti.UI.createWindow();

var label = Ti.UI.createLabel({
    text: 'This is a test string',
    width: 'auto',
    color: '#FFF',
    left: 0,
    top: 0
});

var labelWidth = label.width;

Ti.API.info(labelWidth);

// Dynamically position the second label
var secondLabel = Ti.UI.createLabel({
    text: 'Second label',
    width: 100,
    left: labelWidth + 10,
    top: 0,
    color: '#FFF'
});

window.add(label);
window.add(secondLabel);

window.open();

它不是很优雅,但它可以工作。

If you create labels with 'auto' width, once they've been constructed you can access their actual width and position any other labels accordingly:

var window = Ti.UI.createWindow();

var label = Ti.UI.createLabel({
    text: 'This is a test string',
    width: 'auto',
    color: '#FFF',
    left: 0,
    top: 0
});

var labelWidth = label.width;

Ti.API.info(labelWidth);

// Dynamically position the second label
var secondLabel = Ti.UI.createLabel({
    text: 'Second label',
    width: 100,
    left: labelWidth + 10,
    top: 0,
    color: '#FFF'
});

window.add(label);
window.add(secondLabel);

window.open();

It's not very elegant but it works.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文