我想在UILabel旁边显示一个图像,但是UILabel有可变的文本长度,所以我不知道在哪里放置图像.我怎么能做到这一点?
我正在获取UILabel的宽度[在文本设置之后]:
myUILabel.frame.width
Run Code Online (Sandbox Code Playgroud)
但它始终具有相同的宽度,无论它是否包含String:"Hello."或String : "Hello everyone on this planet.". 但是UILabel需要有更大的宽度和第二个String.
我有一个UITextField,我想从中确定输入文本的宽度.
bounds属性只有Textfield的大小,而不是文本的大小
如何知道我的文字在UILabel中占用了多少像素?
我想在文本之间插入一张小图片.
可以用来调整我的标签宽度.
到目前为止,iPhone上的删除文本的最佳解决方案是什么?
我听说过多种解决方案:
UIWebView
有一些东西NSAttributedString,但我没有找到一个有效的例子.我目前正在努力解决在许多人中显示删除线文本的需要UITableViewCell.用HTML编写的东西就像是一样
<strike>€99</strike> save 50% => now €49
我不想只使用UIWebView一行文本,特别是它用于小UITableViewCells.我知道有可重复使用的单元格,但是我希望保持内存效率更高的方式.
所以...我使用的是NSAttributedStringS,与AliSoftware的的帮助UILabel-更换OHAttributedLabel.事实上它只能从iOS 4.0开始使用是没有问题的,因为我们使用的只是4.0兼容的各种东西.
我可以设法创建属性字符串,它显示文本OHAttributedLabel,好的,这很酷.但我无法实现的是设置"删除线"或"删除线"属性.
基本上我是这样的:
NSString *price = [NSString stringWithFormat:@"%01.2f €", product.price]; NSString *rate = [NSString stringWithFormat:@" -%01.0f%%", product.reductionRate]; NSMutableAttributedString *s = [NSMutableAttributedString attributedStringWithString:price]; [s addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlinePatternSolid | NSUnderlineStyleSingle] range:NSRangeFromString(price)]; [attributedLabel setAttributedText:s];
但是在这里,三个NS*常数是未定义的.我进口了CoreText.h,Foundation/NSAttributedString.h但无济于事.我在什么地方看到,在网络上
NSStrikethroughStyleAttributeName = @"NSStrikethroughStyleAttributeName",并且NSUnderlinePatternSolid = 0和NSUnderlineStyleSingle = 1,但硬编码这些值不放弃任何东西.有一件事我与自动完成得到的都是等价kCT...*的常量,但也有kCTUnderlineStyleAttributeName,kCTStrokeWidthAttributeName,...但没有提及 …
我正试图在文本的右侧获取图像(在IB中构建).我在这里找到的一个想法是将UIButton子类化并覆盖:
- (CGRect)imageRectForContentRect:(CGRect)contentRect
Run Code Online (Sandbox Code Playgroud)
和
- (CGRect)titleRectForContentRect:(CGRect)contentRect` which I did.
Run Code Online (Sandbox Code Playgroud)
但在该示例中,图像一直被推到按钮的右边缘.我希望它出现在我的居中文本之后.所以,我想,如果我能用某种字体获得标签的宽度,我可以这样做.
哪个效果很好.但.如果我这样做imageRectForContentRect:
- (CGRect)imageRectForContentRect:(CGRect)contentRect
{
CGSize textSize = [self.titleLabel.text sizeWithAttributes:@{NSFontAttributeName: self.titleLabel.font}];
}
Run Code Online (Sandbox Code Playgroud)
我得到一个无限循环(因为调用self.titleLabel调用imageRectForContent,它调用textSize代码等等.
所以那不行.
是否有另一种方法可以轻松地使用带有居中文本的按钮将文本放在文本的右侧?
我正在尝试这种方法,因为我想支持多种语言,按钮的文本可能有不同的长度.
我希望聊天气泡与自定义气泡图像用于显示聊天消息.作为初学者,我正在考虑使用带有自定义单元格的UITableView.细胞将有气泡图像.在该图像中,我想要聊天消息,日期和时间以及状态.
此外,根据邮件大小,气泡图像的大小将缩小或扩大.
我该如何实现这一目标?有没有很好的教程来实现这一目标?
请帮忙.
提前致谢.
ios ×6
iphone ×5
uilabel ×4
objective-c ×3
cocoa-touch ×2
swift ×2
uikit ×2
core-text ×1
nsstring ×1
uibutton ×1
uitableview ×1
uitextfield ×1