2017-12-13 16 views
0

私は値がサーバーから取得する文字列で設定されたテキストフィールドを持っています。テキストフィールドが実際にラベルではなく、編集可能であることをユーザーに示すために、テキストフィールド内にアイコンを設定したいとします。私は他の質問をしましたが、leftViewModeまたはRightViewModeのアイコンを設定するための答えしか見つかりませんでした。どうすれば達成できますか?テキストの最後の文字のすぐ隣のUITextFIeld内にアイコン/イメージを配置する方法は?

_titleLabel.delegate = self; 
    UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"edit_Canvas_name"]]; 
    imgView.contentMode = UIViewContentModeScaleAspectFit; 
    [_titleLabel setRightViewMode:UITextFieldViewModeAlways]; 
    [_titleLabel setRightView:imgView]; 

enter image description here

私は画像が "タッチ - 描画" にちょうどグラムの後になりたいです。

答えて

-1

テキストフィールド内にボタンを追加し、それに応じてフレームまたは制約を設定すると、「タッチ図面」の「g」の隣にボタンを表示できます。

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 

[btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside]; 

btn.frame = CGRectMake(self.yourTextField.bounds.size.width - 50, 5, 25, 25); 

[btn setBackgroundImage:[UIImage imageNamed:@"yourImage.png"] forState:UIControlStateNormal]; 

[self.yourTextField addSubview:btn]; 
+1

あなたが与えるwhats制約とそれをどのように設定するかを説明してください。 –

1

あなたのUITextFieldのテキスト幅を返すメソッドを記述してください。その後、その直後にイメージを配置します。方法は次のようになります。

- (float)textWidthOf:(UITextField *)textfield { 
    CGSize textSize = [textfield.text sizeWithAttributes:@{NSFontAttributeName : textfield.font}]; 
    return textSize.width; 
} 
関連する問題