2011-12-15 8 views
0

大きなNSStringにはたくさんのシンボルがあり、それにいくつかのUILabelsを作りたいと思います。 例: 私のテキスト:私はモスクワ出身です。私のニックネームはitrufです。 結果: 最初のラベル:私はモスクワ出身です。 2番目のラベル:私のニックネームは 3番目のラベル:itrufです。大きなテキストが1つあるUILabels

すべてUILabelには1つのサイズとフォント(ブックメイトやibooksのようなページングを行いたい)が必要です。

PS:私のラベルでNSArrayを作りたいと思います。

+0

あなたは 'UILabel'を望む理由はありますか? – jv42

+0

文字列を分割したいですか? 'componentsSeparatedByString:'を見てください。 – V1ru8

+0

UILabelsでいくつかのページを作っていますが、他にもアイデアがあれば良いでしょう。 – werbary

答えて

1
NSString *list = @"I am from Moscow. My nickname is itruf."; 

NSArray *listItems = [list componentsSeparatedByString:@"."]; 
myCity.text = [listItems objectAtIndex:0]; 
myName.text = [listItems objectAtIndex:1]; 

ここで、myCityとmyNameはラベルです。

+0

Даянеэтоимелввиду。 Тамможетнебытьточек。 Сольименновобъеме。 sizeWithFontи.т.д.Нужночто-тосвязанноесsizeWithFontит.д. UILABELсэтимтекстомбылкакразпоразмерумоегоの眺め。 – werbary

0

それとも、あなたのラベルの高さを調整したい場合は、

CGRect rect = CGRectMake(20, 10, 190, 1000); 
self.label.numberOfLines = 0; 
self.label.frame = rect; 
[self.label sizeToFit]; 

そして、それは自動的に合理的な高さに1000年から降りてくるでしょう。

+1

私は本のように水平ページングをしたいです。例えば:bookmate。私は2つの関数:numberofpagesとcontentforpageatindex:indexを持つカスタムクラスを持っています。ですから、UILabelsでNSArrayを作成し、関数contentforpageatindexで次のコードを記述します:[myarray objectatindex:index] ;.だから私はrectと私のビューのrectと同じフォントでいくつかのUILabelsを作成する必要があります。 – werbary

+0

OK、「for for」サイクルでそれをやろうとしましたか? ラベル枠を変更するには? – Shmidt

+0

いいえ、私はそれを試していません。私は、ページ数を数えるコードを書いていますが、ラベルを作るアイデアはありません。私のコード: 'CGFloat cellWidth = 320.0f;' 'CGSize textSize = [text sizeWithFont:descriptionView.font constrainedToSize:CGSizeMake(cellWidth、FLT_MAX)lineBreakMode:UILineBreakModeWordWrap]; ' \t' NSUInteger number = textSize.height/self.view .bounds.size.height; ' – werbary

関連する問題