-4

iPadアプリケーションを作らなければなりません。

質問は 3 つありますtextfields。幅をUITextField動的に設定する必要があります。これはwebservicetextから来ています。質問のテキストと同じ幅を設定する必要があります..UITextField

テキスト問題のサイズが小さい場合はUITextFieldサイズが小さく、テキスト問題のサイズが大きい場合はUITextFieldサイズが大きく、

私は次のコードを持っています.....

txtQuestionOne.hidden=NO;
            txtQuestionTwo.hidden=NO;
            txtQuestionThree.hidden=NO;

            imgQueone.hidden=NO;
            imgQueTwo.hidden=NO;
            imgQueThree.hidden=NO;

            [txtQuestionOne setPlaceholder:[[appDelegate.questions objectAtIndex:0] objectForKey:@"question"]];

            appDelegate.FirstQues =[[appDelegate.questions objectAtIndex:0] objectForKey:@"question"];

            NSLog(@"current q1 %@", [[appDelegate.questions objectAtIndex:0] objectForKey:@"question"]);


            if ([[[appDelegate.questions objectAtIndex:0] objectForKey:@"permission"] isEqualToString:@"1"]) {

                ratingButton1.hidden=NO;

                ratingLabel1.hidden=NO;
            }


            [txtQuestionTwo setPlaceholder:[[appDelegate.questions objectAtIndex:1] objectForKey:@"question"]];

            appDelegate.SecondQues =[[appDelegate.questions objectAtIndex:1] objectForKey:@"question"];

            NSLog(@"current q2 %@", [[appDelegate.questions objectAtIndex:1] objectForKey:@"question"]);

            if ([[[appDelegate.questions objectAtIndex:1] objectForKey:@"permission"] isEqualToString:@"1"]) {

                ratingButton2.hidden=NO;

                ratingLabel2.hidden=NO;
            }


            [txtQuestionThree setPlaceholder:[[appDelegate.questions objectAtIndex:2] objectForKey:@"question"]];

            appDelegate.ThridQues =[[appDelegate.questions objectAtIndex:2] objectForKey:@"question"];

            NSLog(@"current q3 %@", [[appDelegate.questions objectAtIndex:2] objectForKey:@"question"]);

            if ([[[appDelegate.questions objectAtIndex:2] objectForKey:@"permission"] isEqualToString:@"1"]) {

                ratingButton3.hidden=NO;

                ratingLabel3.hidden=NO;
            }

どうすればいいのかわからないので助けてください。

4

3 に答える 3

2

これを使用して、指定されたフォント スタイルの NSString のサイズを取得します。返された CGSize を使用して、UI 要素のサイズをラベル、テキスト フィールドに設定します。

 (comments from apple documentation)
// Single line, no wrapping. Truncation based on the UILineBreakMode.
- (CGSize)sizeWithFont:(UIFont *)font; // Uses UILineBreakModeWordWrap
- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode;

// for multi lined
// Wrapping to fit horizontal and vertical size. Text will be wrapped and truncated using the UILineBreakMode. If the height is less than a line of text, it may return
// a vertical size that is bigger than the one passed in.
// If you size your text using the constrainedToSize: methods below, you should draw the text using the drawInRect: methods using the same line break mode for consistency

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size; // Uses UILineBreakModeWordWrap;
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode;

例えば:

NSString *valueString = @"This is example";
CGSize newSize = [valueString sizeWithFont: [UIFont fontWithName: @"TrebuchetMS" size: 12] ];

// assign new size
CGRect textFrame = textbox. frame;
textFrame. size  = newSize;
于 2012-08-31T09:35:36.700 に答える
1

これを試しましたか

CGRect frame= yourTextField.frame;
frame.size.width=your_required_width;
yourTextField.frame=frame;
于 2012-08-31T06:46:03.677 に答える
0

この投稿を見てください

sizeWithFontこれは、テキストのサイズから CGSize オブジェクトを取得する使用方法を示しています。次に、この CGSize オブジェクトのデータを使用して textfields フレームを編集します。

于 2012-08-31T06:58:42.473 に答える