是否有可能限制文本的長度爲UILabel ..我知道我可以限制字符串無論我分配標籤,但我只需要知道...是否有任何可能性在UILabel級別做到這一點?如何限制UILabel文本長度 - IOS
在我來說,我只是想只顯示10個字符的UILabel ..
是否有可能限制文本的長度爲UILabel ..我知道我可以限制字符串無論我分配標籤,但我只需要知道...是否有任何可能性在UILabel級別做到這一點?如何限制UILabel文本長度 - IOS
在我來說,我只是想只顯示10個字符的UILabel ..
NSString *temp = your string;
if ([temp length] > 10) {
NSRange range = [temp rangeOfComposedCharacterSequencesForRange:(NSRange){0, 10}];
temp = [temp substringWithRange:range];
}
coverView.label2.text = temp;
是的,你可以使用:
your_text = [your_text substringToIndex:10];
your_label.text = your_text;
希望它可以幫助你。此外,通過改變constrainedToSize的價值
NSString *[email protected]"Your Text to be shown";
CGSize textSize=[string sizeWithFont:[UIFont fontWithName:@"Your Font Name"
size:@"Your Font Size (in float)"]
constrainedToSize:CGSizeMake(100,50)
lineBreakMode:NSLineBreakByTruncatingTail];
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 50,textSize.width, textSize.height)];
[myLabel setLineBreakMode:NSLineBreakByTruncatingTail];
[myLabel setText:string];
:您可以修復的UILabel
的最大尺寸它可能會起作用,但它會將整個標籤大小縮減爲其字符串長度,在我的情況下,我在標籤的右端添加了一些視圖,但不應該受到干擾,因此我只需要限制文本而不是整個標籤。 – Newbee 2013-05-04 05:48:30
我看不到任何直接的方式來實現這一目標。但是,我們可以做一些事情,讓我們做一個category爲UILabel
@interface UILabel(AdjustSize)
- (void) setText:(NSString *)text withLimit : (int) limit;
@end
@implementation UILabel(AdjustSize)
- (void) setText:(NSString *)text withLimit : (int) limit{
text = [text substringToIndex:limit];
[self setText:text];
}
@end
你可以把它在你的類要做到這一點(或使其在單獨的擴展類,並導入需要此功能);
現在使用在以下方式:
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectZero];
[lbl setText:@"Hello Newbee how are you?" withLimit:10];
NSLog(@"lbl.text = %@", lbl.text);
這裏是日誌:
2013年5月9日15:43:11.077 FreakyLabel [5925:11303] lbl.text =你好福利局
請更新我與downvote的原因。 – rptwsthi 2014-07-03 15:28:18
我固定這通過添加viewDidLoad中的通知:偵聽當長度超過一個值:
- (void)limitLabelLength {
if ([self.categoryField.text length] > 15) {
// User cannot type more than 15 characters
self.categoryField.text = [self.categoryField.text substringToIndex:15];
}
}
你的代碼爲我工作:) – 2015-09-26 09:13:01
太棒了!如果你還沒有做過,記得投票答覆。 – 2015-12-15 09:02:41
是的,已經完成 – 2015-12-15 09:42:49
你可以嘗試'[labelText substringToIndex:10];' – Anupdas 2013-05-04 05:40:05
你不能直接告訴標籤只顯示10個字符,我知道下面的答案不是你要求的,但他們是唯一的可能性來限制字符串顯示標籤。 – HAS 2013-05-04 15:58:24