UITextField
이 있는데, 사용자가 TextField
을 터치하고 키보드를 들으면 프로그래밍 방식으로 오른쪽에 UIButton
을 추가하려고합니다. 키보드가 제기되고있다UITextField의 너비를 변경할 수 없습니다.
------------------------------
|--------------------------- |
|| textfield | |
|--------------------------- |
------------------------------
:
------------------------------
|------------------ |
|| textfield | BUTTON |
|------------------ |
------------------------------
I 인터페이스 건물에 대한 자동 레이아웃과 Storyboard
를 사용하여 이러한 요소가 잘 연결되어 있습니다. 나는 UITextField
의 폭을 변경하려고 때의 스크린 샷은 아래 그림과 같이
, 그것은는 Button
을 넣어 "내부"텍스트 필드를 결과, 전혀 변경하지 않은 :
나는 스토리 보드를 통해 제약 조건을 설정 한
// code to add the button
- (void)keyboardWasShown:(NSNotification*)aNotification
{
// dynamically add a "reply" button
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self.replyViewBox addSubview:button];
[button setTitle:@"Reply" forState:UIControlStateNormal];
// change button size & position
button.frame = CGRectMake(265.0, 10.0, 46.0, 30.0);
// [button sizeToFit];
// change replyText size
CGRect frameRct = replyText.frame;
frameRct.size.width = 248.0;
replyText.frame = frameRct;
[replyViewBox addSubview:button];
}
그래서 나를 자동 레이아웃을 유지하면서 폭을 프로그래밍 방식으로 변경할 수 어쨌든이 : 여기 내 코드는?
autolayout을 사용하고 있으므로 프레임이 아닌 제약 조건을 변경해야합니다. 여기 주제에 대한 괜찮은 대답이 있습니다 : http://stackoverflow.com/questions/15893022/setting-constraints-programatically – danh
@danh thx 링크입니다. 그러나 TextField의 제약 조건을 제거한 후에도 여전히 폭을 변경할 수 없습니다. 왜? – dumbfingers
자동 레이아웃을 사용 중지 했습니까? – danh