Kris가 말했듯이 Horizontal Space 제약 조건을 설정하는 것이이 문제를 시작하는 좋은 방법입니다. 상수 "여백"싶지 않다에 대한 의견에 대한 응답으로
, 당신은 다음과 같은 작업을 수행 할 수
- 설정 수평 공간의 제약을 인터페이스 빌더에.
- 클래스에
NSLayoutConstraint
유형의 IBOutlet
을 만듭니다 (.h 또는 .m 중 하나는 중요하지 않음).
IBOutlet
을 각각 NSLayoutConstraint
에 연결하십시오.
- 뷰 수명주기 방법 중 하나 (
viewDidLoad
/viewWillAppear:
)에서 원하는 값으로 제약 조건을 설정하십시오.
그것은 당신이 주로 iPad에서 전체 화면에 걸쳐에서 필드를 방지하려면 같은 소리, 그래서 당신은 (가정 같은 것을 할 수 NSLayoutConstraint
들이라는 UITextField
"를"textFieldLeft "과"textFieldRight "이름이 지정됩니다 textboard ") :
- (void)viewDidLoad {
if (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad) {
self.textFieldLeft.constant = 50.0f;
self.textFieldRight.constant = 50.0f;
[self.textField layoutIfNeeded];
}
}
내가 가진 유일한 문제는 iPad와 같은 대형 화면 장치의 경우 텍스트보기가 전체 화면을 차지하는 것을 원하지 않기 때문입니다. –
사과로 권장되는 접근 방식은 아이폰과 ipad에 대한 서로 다른 스토리 보드/xibs를 갖는 것입니다. 코드는 완전히 공유됩니다. –
@KrisJurgowski Apple이 크기 클래스마다 다른 구현을 사용하여 Storyboard 파일을 결합하도록 우리를 밀고 싶어하는 것처럼 보입니다. 나는 아직 도구/접근법에 신경 쓰지는 않지만 미래의 물결처럼 보인다. 그러나 그들이 기기/화면을 차별화하기 쉽도록하기를 바랍니다. 현재 아이폰과 아이 패드를 차별화하는 것은 쉽지만 아이폰 4S와 아이폰 6 플러스를 차별화하는 것은 (적어도 인물 모드에서는) 혼란 스럽다. 지금 당장은 스토리 보드 (Storyboards)에 대해 별도로 말씀 드리고자 합니다만, 그렇게 오래지지 않을 것이라고 생각합니다. – mbm29414