2013-09-24 35 views
3

由於iOS的7,阿拉伯字體現在支持該標籤的邊緣,但是當我使用:的iOS 7的自定義的UILabel字體,文本超出

lbl.font=[UIFont fontWithName:@"Scheherazade" size:33]; 

文本到達UILabel和一些邊緣單詞無法閱讀!

如何解決這個問題?這裏是描述我的問題。 A Picture

這裏是我的代碼:

lbl = [[UILabel alloc]initWithFrame:CGRectMake(20, 50, 280, 320)]; 
lbl.text = @"شِّرِ ٱلَّذِينَ ءَامَنُوا۟ وَعَمِلُوا۟ ٱلصَّٰلِحَٰتِ أَنَّ لَهُمْ جَنَّٰتٍۢ تَجْرِى مِن تَحْتِهَا ٱلْأَنْهَٰرُ ۖ كُلَّمَا رُزِقُوا۟ مِنْهَا مِن ثَمَرَةٍۢ رِّزْقًۭا ۙ قَالُوا۟ هَٰذَا ٱلَّذِى رُزِقْنَا مِن قَبْلُ ۖ وَأُتُوا۟ بِهِۦ مُتَشَٰبِهًۭا ۖ وَلَهُمْ فِيهَآ أَزْوَٰجٌۭ مُّطَهَّرَةٌۭ ۖ وَهُمْ فِيهَا خَٰلِدُونَ"; 
lbl.font=[UIFont fontWithName:@"Scheherazade" size:33.0]; 
lbl.backgroundColor = [UIColor whiteColor]; 
lbl.lineBreakMode = NSLineBreakByCharWrapping; 
[self.view addSubview:lbl]; 
lbl.numberOfLines = 0; 
lbl.textAlignment = NSTextAlignmentCenter; 
+0

您是否嘗試更改對齊? –

+0

是的,我試過中心,L&R,我嘗試了所有lineBreakModes,但仍然有相同的問題 – Mutawe

+0

'CGSize stringSize = [yourString sizeWithFont:[UIFont fontWithName:@「Scheherazade」size:33.0] constrainedToSize:CGSizeMake(280 ,320)lineBreakMode:NSLineBreakByWordWrapping];' 嘗試動態設置標籤的寬度和高度 –

回答

-2

找到你的問題實際上字體大小不與你的lbl.font=[UIFont fontWithName:@"Scheherazade" size:33.0];錢寧 - 嘗試使用此代碼調整字體大小

lbl.font = [UIFont systemFontOfSize: 10];

我已經更新了我的代碼,現在我能看到

UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(20, 0, 280, 320)]; 
lbl.text = @"شِّرِ ٱلَّذِينَ ءَامَنُوا۟ وَعَمِلُوا۟ ٱلصَّٰلِحَٰتِ أَنَّ لَهُمْ جَنَّٰتٍۢ تَجْرِى مِن تَحْتِهَا ٱلْأَنْهَٰرُ ۖ كُلَّمَا رُزِقُوا۟ مِنْهَا مِن ثَمَرَةٍۢ رِّزْقًۭا ۙ قَالُوا۟ هَٰذَا ٱلَّذِى رُزِقْنَا مِن قَبْلُ ۖ وَأُتُوا۟ بِهِۦ مُتَشَٰبِهًۭا ۖ وَلَهُمْ فِيهَآ أَزْوَٰجٌۭ مُّطَهَّرَةٌۭ ۖ وَهُمْ فِيهَا خَٰلِدُونَ"; 
lbl.font=[UIFont fontWithName:@"Scheherazade" size:33.0]; 
lbl.backgroundColor = [UIColor whiteColor]; 
//lbl.lineBreakMode = NSLineBreakByCharWrapping; 
[self.view addSubview:lbl]; 
lbl.numberOfLines = 0; 
lbl.textAlignment = NSTextAlignmentCenter; 

screentshot

+0

@「Scheherazade」字體的問題,閱讀問題! – Mutawe

+0

@Mutawe我已更新我的答案,檢查並讓我知道 –

+0

您是否已將字體添加到您的項目@「Scheherazade」字體? – Mutawe

0

我看到在iOS版7相同的問題,我認爲這是一個錯誤,這錯誤NSLineBreakByCharWrapping全文總是被視爲NSLineBreakByWordWrapping。我已提交給Apple。

0

我有一個類似的問題,我的自定義字體被切斷了底部(特別是在iOS 7),我發現這個帖子有一些答案是相當有用的,我直接編輯字體文件,並改變了上升和/或下降屬性。

Custom installed font not displayed correctly in UILabel

你的情況有可能會在字體文件的其他屬性,您可以編輯,以防止它被切斷左和乘坐兩側。

0

嘗試將其設置爲UILabelpreferredMaxLayoutWidth設置爲其超級視圖的寬度(可選使用左/右填充)。

0

我剛換了換行符模式「NSLineBreakByWordWrapping」。我認爲這個問題是由於阿拉伯文本。

UILabel * lbl = [[UILabel alloc] initWithFrame:CGRectMake(20,50,280,320)];

lbl.text = @"شِّرِ ٱلَّذِينَ ءَامَنُوا۟ وَعَمِلُوا۟ ٱلصَّٰلِحَٰتِ أَنَّ لَهُمْ جَنَّٰتٍۢ تَجْرِى مِن تَحْتِهَا ٱلْأَنْهَٰرُ ۖ كُلَّمَا رُزِقُوا۟ مِنْهَا مِن ثَمَرَةٍۢ رِّزْقًۭا ۙ قَالُوا۟ هَٰذَا ٱلَّذِى رُزِقْنَا مِن قَبْلُ ۖ وَأُتُوا۟ بِهِۦ مُتَشَٰبِهًۭا ۖ وَلَهُمْ فِيهَآ أَزْوَٰجٌۭ مُّطَهَّرَةٌۭ ۖ وَهُمْ فِيهَا خَٰلِدُونَ"; 
lbl.font=[UIFont fontWithName:@"Scheherazade" size:33.0]; 
lbl.backgroundColor = [UIColor white]; 
lbl.lineBreakMode = NSLineBreakByWordWrapping; 
[self.view addSubview:lbl]; 
lbl.numberOfLines = 0; 
lbl.textAlignment = NSTextAlignmentCenter;